Enabling done button after inserting one char in a textfield: textFieldDidEndEditing: or textFieldShouldBeginEditing: or?

后端 未结 7 1685
迷失自我
迷失自我 2020-12-28 08:43

I would like to enable the done button on the navbar (in a modal view) when the user writes at least a char in a uitextfield. I tried:

  • textFieldDidEndEditing:
7条回答
  •  失恋的感觉
    2020-12-28 09:37

    Swift 2.2

    You can assign custom method "checkTextField()" to "myTextField" UITextField as:

    myTextField.addTarget(self, action: #selector(self.checkTextField(_:)), forControlEvents: .EditingChanged);
    

    and toggle the done button inside the method as:

    func checkTextField(sender: UITextField) {
    
        doneButton.enabled = !sender.hasText();
    }
    

    No need of any delegate.

提交回复
热议问题