EditingChanged Textfield功能无法正常工作

时间:2016-01-28 17:03:30

标签: ios swift

你好如果我在我的控制器中实现以下功能,那么EditingChanged功能不起作用

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

        textField.text = (textField.text! as NSString).stringByReplacingCharactersInRange(range, withString: string.uppercaseString)

        return false
    }

这是EditingChanged函数

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

 func textFieldDidChange(textField: UITextField) {

       print("hello")
    }

2 个答案:

答案 0 :(得分:0)

我也面临着同样的问题。我可以通过使用IBAction而不是如上所述的UIControlEvents进行绑定来解决此问题。因为有时,后者无法响应,这很奇怪。

@IBAction func myTextFieldEditingBegins(_ sender: Any) {
    //Do something
}

答案 1 :(得分:0)

我认为您忘记为文本字段设置委托。将委托设置为

yourtextField.delegate = self

现在,EditingChanged将按预期工作。