如何检查UITextField何时更改?

如何检查UITextField何时更改?

我试图检查文本字段何时更改,相当于textView使用的函数 - textViewDidChange到目前为止我已经这样做了:

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

哪种工作,但topRightButton只要按下文本字段就启用,我希望只有在实际输入文本时才能启用它?


桃花长相依
浏览 521回答 3
3回答

凤凰求蛊

迅速Swift 4.2textfield.addTarget(self, action: #selector(ViewControllerr.textFieldDidChange(_:)), for: UIControl.Event.editingChanged)和@objc func textFieldDidChange(_ textField: UITextField) {}SWIFT 3&swift 4.1textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)和func textFieldDidChange(_ textField: UITextField) {}SWIFT 2.2textField.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}

跃然一笑

您可以在界面构建器中建立此连接。在故事板中,单击屏幕顶部的助理编辑器(中间的两个圆圈)。 Ctrl +单击界面构建器中的文本字段。从EditingChanged拖动到助手视图中的视图控制器类内部。 为您的函数命名(例如“textDidChange”),然后单击“连接”。 

摇曳的蔷薇

Swift 3.0textField.addTarget(self, action: #selector(textFieldDidChange(textField:)), for: .editingChanged)和处理方法:func textFieldDidChange(textField: UITextField) { }Swift 4.0textField.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)),                           for: UIControlEvents.editingChanged)和处理方法:@objc func textFieldDidChange(_ textField: UITextField) {}Swift 5.0textField.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)),                           for: UIControl.Event.editingChanged)和处理方法:@objc func textFieldDidChange(_ textField: UITextField) {}
打开App,查看更多内容
随时随地看视频慕课网APP