检测自定义 UITextField 是否有文本值
Detect if custom UITextField has a text value
我创建了一个自定义文本字段,一个扩展了 UITextField 的 class,我怎么知道那个 UITextField 是否有值,我已经尝试了 shouldChangeCharactersIn
但没有任何反应。
这是我自定义 UITextField 的代码Class
@IBDesignable class CustomTextField: UITextField {
override init(frame: CGRect) {
super.init(frame: frame)
loadContent()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
loadContent()
}
...
}
如果 UITextField 为空或用户删除了其中的值,我想打印 "the textfield is blank"
,如果其中有值或用户在其中添加了值,我想打印 "the textfield has content"
.
您只需在 UIControl.Event
.editingChanged
的文本字段中添加一个目标
override func willMove(toSuperview newSuperview: UIView?) {
addTarget(self, action: #selector(editingChanged), for: .editingChanged)
}
并使用 UIKeyInput
方法 hasText
检查您的字段是否为空:
@objc func editingChanged(_ textField: UITextField) {
print("the textfield " + (hasText ? "has content" : "is blank"))
}
我创建了一个自定义文本字段,一个扩展了 UITextField 的 class,我怎么知道那个 UITextField 是否有值,我已经尝试了 shouldChangeCharactersIn
但没有任何反应。
这是我自定义 UITextField 的代码Class
@IBDesignable class CustomTextField: UITextField {
override init(frame: CGRect) {
super.init(frame: frame)
loadContent()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
loadContent()
}
...
}
如果 UITextField 为空或用户删除了其中的值,我想打印 "the textfield is blank"
,如果其中有值或用户在其中添加了值,我想打印 "the textfield has content"
.
您只需在 UIControl.Event
.editingChanged
override func willMove(toSuperview newSuperview: UIView?) {
addTarget(self, action: #selector(editingChanged), for: .editingChanged)
}
并使用 UIKeyInput
方法 hasText
检查您的字段是否为空:
@objc func editingChanged(_ textField: UITextField) {
print("the textfield " + (hasText ? "has content" : "is blank"))
}