UITextField是用来文本输入的,比如常用的登录用户名和密码输入等等,那我们直接进入主题吧
1.创建普通的UITextField
//构建基本的UITextField
var uitf:UITextField = UITextField(frame: CGRect(x: 50, y: 50, width: 200, height: 30))
uitf.backgroundColor = UIColor.whiteColor()
uitf.placeholder = "普通UITextField"
2.构建密码输入框
var uitf1:UITextField = UITextField(frame: CGRect(x: 50, y: 90, width: 200, height: 35))
uitf1.placeholder = "密码输入框"
uitf1.borderStyle = UITextBorderStyle.RoundedRect //边框样式
uitf1.backgroundColor = UIColor.whiteColor()
uitf1.secureTextEntry = true //密码输入框
3.设置UITextField的左边视图
var uitf2:UITextField = UITextField(frame: CGRect(x: 50, y: 135, width: 200, height: 30))
uitf2.placeholder = "请输入购买的物品"
uitf2.backgroundColor = UIColor.whiteColor()
var img:UIImageView = UIImageView(image: UIImage(named: "buy.png")!)
img.frame = CGRect(x: 5, y: 5, width: 40, height: 30)
img.contentMode = UIViewContentMode.ScaleAspectFit
uitf2.leftView = img
uitf2.leftViewMode = UITextFieldViewMode.Always
uitf2.leftViewRectForBounds(CGRect(x: 0, y: 0, width: 44, height: 44))
4.设置UITextField的右边边视图
var uitf3:UITextField = UITextField(frame: CGRect(x: 50, y: 175, width: 200, height: 35))
uitf3.placeholder = "请输入购买的物品"
uitf3.backgroundColor = UIColor.whiteColor()
uitf3.layer.cornerRadius = 2
uitf3.layer.borderWidth = 1
uitf3.layer.borderColor = UIColor.greenColor().CGColor
//uitf3.borderStyle = UITextBorderStyle.RoundedRect
var img1:UIImageView = UIImageView(image: UIImage(named: "buy.png")!)
img1.frame = CGRect(x: 5, y: 5, width: 40, height: 30)
img1.contentMode = UIViewContentMode.ScaleAspectFit
uitf3.rightView = img1
uitf3.rightViewMode = UITextFieldViewMode.Always
5.委托事件,及加入clear按钮
var uitf4:UITextField = UITextField(frame: CGRect(x: 50, y: 220, width: 200, height: 35))
uitf4.backgroundColor = UIColor.whiteColor()
uitf4.delegate = self
uitf4.clearButtonMode = UITextFieldViewMode.WhileEditing
当鼠标进入UITextField时,响应textFieldShouldBeginEditing -> textFieldDidBeginEditing
当鼠标退出UITextField时,响应textFieldShouldEndEditing -> textFieldDidEndEditing
当输入文本内容时,响应textField
在输入框里,在虚拟键盘上点击return时,响应textFieldShouldReturn
在输入框里,点击UITextField的clear按钮,响应textFieldShouldClear
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
NSLog("textField")
return true
}
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
NSLog("textFieldShouldBeginEditing")
return true
}
func textFieldDidBeginEditing(textField: UITextField) {
NSLog("textFieldDidBeginEditing")
}
func textFieldShouldEndEditing(textField: UITextField) -> Bool {
NSLog("textFieldShouldEndEditing")
return true
}
func textFieldDidEndEditing(textField: UITextField) {
NSLog("textFieldDidEndEditing")
}
func textFieldShouldClear(textField: UITextField) -> Bool {
NSLog("textFieldShouldClear")
return true
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
NSLog("textFieldShouldReturn")
textField.resignFirstResponder() //这个隐藏(放弃)虚拟键盘
return true
}
全部代码
import UIKit
class ViewController: UIViewController,UITextFieldDelegate {
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//构建基本的UITextField
var uitf:UITextField = UITextField(frame: CGRect(x: 50, y: 50, width: 200, height: 30))
uitf.backgroundColor = UIColor.whiteColor()
uitf.placeholder = "普通UITextField"
self.view.addSubview(uitf)
//构建密码输入框
var uitf1:UITextField = UITextField(frame: CGRect(x: 50, y: 90, width: 200, height: 35))
uitf1.placeholder = "密码输入框"
uitf1.borderStyle = UITextBorderStyle.RoundedRect //边框样式
uitf1.backgroundColor = UIColor.whiteColor()
uitf1.secureTextEntry = true //密码输入框
self.view.addSubview(uitf1)
//设置UITextField的左边视图
var uitf2:UITextField = UITextField(frame: CGRect(x: 50, y: 135, width: 200, height: 30))
uitf2.placeholder = "请输入购买的物品"
uitf2.backgroundColor = UIColor.whiteColor()
var img:UIImageView = UIImageView(image: UIImage(named: "buy.png")!)
img.frame = CGRect(x: 5, y: 5, width: 40, height: 30)
img.contentMode = UIViewContentMode.ScaleAspectFit
uitf2.leftView = img
uitf2.leftViewMode = UITextFieldViewMode.Always
uitf2.leftViewRectForBounds(CGRect(x: 0, y: 0, width: 44, height: 44))
self.view.addSubview(uitf2)
//设置UITextField的右边边视图
var uitf3:UITextField = UITextField(frame: CGRect(x: 50, y: 175, width: 200, height: 35))
uitf3.placeholder = "请输入购买的物品"
uitf3.backgroundColor = UIColor.whiteColor()
uitf3.layer.cornerRadius = 2
uitf3.layer.borderWidth = 1
uitf3.layer.borderColor = UIColor.greenColor().CGColor
//uitf3.borderStyle = UITextBorderStyle.RoundedRect
var img1:UIImageView = UIImageView(image: UIImage(named: "buy.png")!)
img1.frame = CGRect(x: 5, y: 5, width: 40, height: 30)
img1.contentMode = UIViewContentMode.ScaleAspectFit
uitf3.rightView = img1
uitf3.rightViewMode = UITextFieldViewMode.Always
self.view.addSubview(uitf3)
//委托事件
var uitf4:UITextField = UITextField(frame: CGRect(x: 50, y: 220, width: 200, height: 35))
uitf4.backgroundColor = UIColor.whiteColor()
uitf4.delegate = self
uitf4.clearButtonMode = UITextFieldViewMode.WhileEditing
self.view.addSubview(uitf4)
}
////////
// 当鼠标进入UITextField时,响应textFieldShouldBeginEditing -> textFieldDidBeginEditing
// 当鼠标退出UITextField时,响应textFieldShouldEndEditing -> textFieldDidEndEditing
// 当输入文本内容时,响应textField
// 在输入框里,在虚拟键盘上点击return时,响应textFieldShouldReturn
// 在输入框里,点击UITextField的clear按钮,响应textFieldShouldClear
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
NSLog("textField")
return true
}
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
NSLog("textFieldShouldBeginEditing")
return true
}
func textFieldDidBeginEditing(textField: UITextField) {
NSLog("textFieldDidBeginEditing")
}
func textFieldShouldEndEditing(textField: UITextField) -> Bool {
NSLog("textFieldShouldEndEditing")
return true
}
func textFieldDidEndEditing(textField: UITextField) {
NSLog("textFieldDidEndEditing")
}
func textFieldShouldClear(textField: UITextField) -> Bool {
NSLog("textFieldShouldClear")
return true
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
NSLog("textFieldShouldReturn")
textField.resignFirstResponder() //这个隐藏(放弃)虚拟键盘
return true
}
}
效果图
http://www.wutongwei.com/ueditor/jsp/upload/image/20150402/1427958750028029966.png