如何检查UITextField何时更改?我试图检查文本字段何时更改,相当于textView使用的函数 - textViewDidChange到目前为止我已经这样做了: func textFieldDidBeginEditing(textField: UITextField) {
if self.status.text == "" && self.username.text == "" {
self.topRightButton.enabled = false
} else {
self.topRightButton.enabled = true
}
}哪种工作,但topRightButton只要按下文本字段就启用,我希望只有在实际输入文本时才能启用它?
3 回答
凤凰求蛊
TA贡献1825条经验 获得超4个赞
迅速
Swift 4.2
textfield.addTarget(self, action: #selector(ViewControllerr.textFieldDidChange(_:)), for: UIControl.Event.editingChanged)
和
@objc func textFieldDidChange(_ textField: UITextField) {}
SWIFT 3&swift 4.1
textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
和
func textFieldDidChange(_ textField: UITextField) {}
SWIFT 2.2
textField.addTarget(self, action: #selector(YourViewController.textFieldDidChange(_:)), forControlEvents: UIControlEvents.EditingChanged)
和
func textFieldDidChange(textField: UITextField) { //your code}
Objective-C的
[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
和textFieldDidChange方法是
-(void)textFieldDidChange :(UITextField *) textField{ //your code}
跃然一笑
TA贡献1826条经验 获得超6个赞
您可以在界面构建器中建立此连接。
在故事板中,单击屏幕顶部的助理编辑器(中间的两个圆圈)。
Ctrl +单击界面构建器中的文本字段。
从EditingChanged拖动到助手视图中的视图控制器类内部。
为您的函数命名(例如“textDidChange”),然后单击“连接”。
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
Swift 3.0
textField.addTarget(self, action: #selector(textFieldDidChange(textField:)), for: .editingChanged)
和处理方法:
func textFieldDidChange(textField: UITextField) { }
Swift 4.0
textField.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)), for: UIControlEvents.editingChanged)
和处理方法:
@objc func textFieldDidChange(_ textField: UITextField) {}
Swift 5.0
textField.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)), for: UIControl.Event.editingChanged)
和处理方法:
@objc func textFieldDidChange(_ textField: UITextField) {}
- 3 回答
- 0 关注
- 520 浏览
添加回答
举报
0/150
提交
取消