ios - 如何检查 UITextField 何时发生变化?

标签 ios swift uitextfield

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

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

哪一种有效,但是一旦按下文本字段,topRightButton就会启用,我希望它仅在实际输入文本时才启用?

最佳答案

SWIFT

swift 4.2

textfield.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)), for: .editingChanged)

@objc func textFieldDidChange(_ textField: UITextField) {

}

SWIFT 3 和 swift 4.1

textField.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)), for: .editingChanged)

func textFieldDidChange(_ textField: UITextField) {

}

SWIFT 2.2

textField.addTarget(self, action: #selector(ViewController.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
}

关于ios - 如何检查 UITextField 何时发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48644445/

相关文章:

ios - 当我在 Swift 的普通类中以编程方式创建按钮时,如何在 Button 类的方法 addTarget 中调用方法

iphone - iOS 简单的方法来转换和存储大表

ios - 动态 ScrollView

ios - 带有圆角的 UITextField 中的内部阴影

ios - 快速处理文本字段中的测试更改事件

ios - Xcode 6.1 if/else/for/switch 语句不自动完成(仅限 Swift)

javascript - 如何在 iOS 上将 iOS Chrome 的 "Open in"功能与 protected 网站后面的 PDF 或大数据 URL 一起使用?

ios - 提交应用程序供审核时使用的登录凭据

ios - 节点的不同侧有不同的触点

ios - 点击 uitextfield 并崩溃