近期一直比较忙,今天下午有点空闲,看了下 swift 3.0 UITextField 的一些设置
新手可以看看。 老手自动过滤吧!
1、 签署 UITextfieldDelegate 代理
class ViewController: UIViewController,UITextFieldDelegate {
2、UITextField 的属性设置
override func viewDidLoad() {
super.viewDidLoad()
// UITextField 的定义
let textField = UITextField()
// 设置 UITextField 的 frame
textField.frame = CGRect(x: 20, y: 100, width: 200, height: 30)
// 设置 样式 (.none 无边框 .line 直线边框 .roundedRect 圆角矩形边框 .bezel 边线+阴影)
textField.borderStyle = UITextBorderStyle.roundedRect
// 设置 提示字
textField.placeholder = "我是 UITextfield"
// 设置 文字颜色 (颜色系统默认为 nil )
textField.textColor = UIColor.blue
// 设置 文字大小
textField.font = UIFont.systemFont(ofSize: 15)
// 设置 水平对齐
textField.textAlignment = NSTextAlignment.center // 居中对齐
// NSTextAlignment.left // 左对齐
// NSTextAlignment.right // 右对齐
// 设置 文字超出文本框时自适应大小
textField.adjustsFontSizeToFitWidth = true
// 设置 最小可缩小的字号
textField.minimumFontSize = 13
// 设置 清理按钮 (.never 从不出现 .whileEditing 编辑时出现 .unlessEditing 编辑时不出现 编辑完后出现 .always 一直出现)
textField.clearButtonMode = UITextFieldViewMode.whileEditing
// 设置 键盘样式
textField.keyboardType = UIKeyboardType.default
// 设置 代理
textField.delegate = self
// 添加视图
self.view.addSubview(textField)
}
3、 UITextFieldDelegate的代理
// 输入框询问是否可以编辑 true 可以编辑 false 不能编辑
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 textFieldShouldClear(_ textField: UITextField) -> Bool {
return true
}
// 输入框按下键盘 return 收回键盘
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
// 该方法当文本框内容出现变化时 及时获取文本最新内容
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
return true
}
网友评论