【iOS 开发】基础控件:UITextField
目录iOS 基础控件 UITextField1. UITextField 的常规使用2. UITextField 设置监听事件附 Github 源码:iOS 基础控件 UITextField1. UITextField 的常规使用// 创建 UITextFieldlet textField = UITextField(frame: CGRect(x: 30, y: 550, width: 300,
·
iOS 基础控件 UITextField
1. UITextField 的常规使用
// 创建 UITextField
let textField = UITextField(frame: CGRect(x: 30, y: 550, width: 300, height: 40))
// 设置 UITextField 的边框风格
textField.borderStyle = UITextField.BorderStyle.roundedRect
// 设置 UITextField 的文字颜色
textField.textColor = UIColor.black
// 设置 UITextField 的文字对齐方式
textField.textAlignment = NSTextAlignment.left
// 设置 UITextField 的提示文字
textField.placeholder = "please input your name"
// 设置 UITextField 的左视图
let leftImageView = UIImageView(image: UIImage(named: "portrait"))
leftImageView.frame = CGRect(x: 0, y: 0, width: 35, height: 35)
textField.leftView = leftImageView
// 设置 UITextField 的右视图
let rightImageView = UIImageView(image: UIImage(named: "EyeInvisible"))
rightImageView.frame = CGRect(x: 0, y: 0, width: 35, height: 35)
textField.rightView = rightImageView
// 设置 UITextField 的左视图显示模式为一直显示
textField.leftViewMode = UITextField.ViewMode.always
// 设置 UITextField 的右视图显示模式为不处于编辑状态时才显示
textField.rightViewMode = UITextField.ViewMode.unlessEditing
textField.clearButtonMode = UITextField.ViewMode.whileEditing
self.view.addSubview(textField)
效果展示:
2. UITextField 设置监听事件
// 设置 UITextField 的代理为当前视图控制器
textField.delegate = self
// 输入框即将进入编辑状态时回调
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
// 是否允许输入框进入编辑状态
print("允许输入框进入编辑状态")
return true
}
// 输入框已经开始编辑时回调
func textFieldDidBeginEditing(_ textField: UITextField) {
print("输入框已经开始编辑")
}
// 输入框即将结束编辑时回调
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
// 是否允许结束编辑状态
print("输入框即将结束编辑")
return true
}
// 输入框已经结束编辑时回调
func textFieldDidEndEditing(_ textField: UITextField) {
print("输入框已经结束编辑时回调")
}
// 输入框文本发生变化时回调
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
print("输入框文本发生变化: ", String(describing: textField.text?.debugDescription), string)
return true
}
// 输入框的清除按钮被点击时回调
func textFieldShouldClear(_ textField: UITextField) -> Bool {
print("输入框的清除按钮被点击")
// 返回 true 允许清除
return true
}
// 键盘的 return 被点击时回调
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
print("键盘的 return 被点击")
// 收起键盘
textField.resignFirstResponder()
return true
}
// 输入框的光标发生变化时回调
func textFieldDidChangeSelection(_ textField: UITextField) {
print("输入框的光标发生变化: ", String(describing: textField.text?.debugDescription))
}
日志打印:
附 Github 源码:
更多推荐
已为社区贡献2条内容
所有评论(0)