UITextField
很多的程序都需要登录和注册页面,那么肯定少不了输入框,在iOS中,UITextField就代表了输入框,在输入框的使用中,除了一些属性以后,还有Delegate模式的应用
UITextField : UIControl : UIView : UIResponder : NSObject
// 初始化,并设置frame
let textField = UITextField(frame: CGRectMake(50, 100, 200, 35))
// 设置输入框样式
textField.borderStyle = UITextBorderStyle.RoundedRect
// 设置提示文字
textField.placeholder = "请输入邮箱"
// 设置弹出键盘颜色
textField.keyboardAppearance = UIKeyboardAppearance.Dark
// 设置键盘上return按键文字
textField.returnKeyType = UIReturnKeyType.Join
// 设置键盘模式
textField.keyboardType = UIKeyboardType.EmailAddress
// 设置delegate
textField.delegate = self
// 添加到视图上
view.addSubview(textField)
遵守UITextField的协议方法,将协议直接写到父类名的后面
class ViewController: UIViewController, UITextFieldDelegate {
......
}
实现协议方法
// 当点击了键盘上的return按钮,执行此方法
func textFieldShouldReturn(textField: UITextField) -> Bool {
// 释放第一响应者
textField.resignFirstResponder()
print(textField.text)
return true
}
部分代码解释:
输入框的代理模式使用步骤:
1.设置delegate为当前控制器
2.当前控制器类,遵守协议
3.实现需要的协议中的方法
textField.resignFirstResponder()
: 让输入框释放了第一响应者,实现了键盘的回收- 除了释放第一响应者,还可以主动成为第一响应者:
textField.becomeFirstResponder()