如何检查UITextField何时更改?

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

试图检查文本字段何时发生更改,这与用于文本视图的函数相同-textViewDidChange

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

但是topRightButton希望只在文本实际上被键入时才启用

housenimeiahousenimeia提问于
leosslyc回答于

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
}
想念o默默我有锄头你有墙,我们正配回答于

可以在接口生成器中建立此连接。

  1. 单击屏幕顶部的辅助编辑器(中间有两个圆圈)。

  1. Ctrl+单击界面生成器中的Textfield。
  2. 从EditingChanged拖动到辅助视图中的视图控制器类中。

  1. 命名您的函数(例如“textDidChange”)并单击Connection。

扫码关注云+社区