怎么当UItextfield更改时检查?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

我试图检查一个文本字段的变化时,相当于用于textView的功能 - textViewDidChange

我这样做的:

  func textFieldDidBeginEditing(textField: UITextField) {
        if self.status.text == "" && self.username.text == "" {
            self.topRightButton.enabled = false
        } else {   
            self.topRightButton.enabled = true
        }
    }

我希望仅在文本实际输入时才启用它。

提问于
用户回答回答于

SWIFT

textField.addTarget(self, action: "textFieldDidChange:", forControlEvents: UIControlEvents.EditingChanged)

可以调用你的函数!

func textFieldDidChange(textField: UITextField) {
    //your code
}

SWIFT 2.2

textField.addTarget(self, action: #selector(YourViewController.textFieldDidChange(_:)), forControlEvents: UIControlEvents.EditingChanged)
func textFieldDidChange(textField: UITextField) {
    //your code
}

SWIFT 3

textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
func textFieldDidChange(_ textField: UITextField) {

}

Objective-C的

[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];

和textFieldDidChange方法是

-(void)textFieldDidChange :(UITextField *) textField{
    //your code
}
用户回答回答于

可以在界面构建器中进行此连接。

  1. 在storyboa中,单击屏幕顶部的助理编辑器(中间的两个圆圈)。
  1. Ctrl +单击界面构建器中的文本框。
  2. 从EditingChanged拖到助理视图中的视图控制器类中。

为你的函数命名(例如“textDidChange”)并点击连接。

扫码关注云+社区