为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查UITextField何时更改?

如何检查UITextField何时更改?

桃花长相依 2019-07-25 16:39:21
如何检查UITextField何时更改?我试图检查文本字段何时更改,相当于textView使用的函数 - textViewDidChange到目前为止我已经这样做了:  func textFieldDidBeginEditing(textField: UITextField) {         if self.status.text == "" && self.username.text == "" {             self.topRightButton.enabled = false         } else {                self.topRightButton.enabled = true         }     }哪种工作,但topRightButton只要按下文本字段就启用,我希望只有在实际输入文本时才能启用它?
查看完整描述

3 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

迅速

Swift 4.2

textfield.addTarget(self, action: #selector(ViewControllerr.textFieldDidChange(_:)), for: UIControl.Event.editingChanged)

@objc func textFieldDidChange(_ textField: UITextField) {}

SWIFT 3&swift 4.1

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

func textFieldDidChange(_ textField: UITextField) {}

SWIFT 2.2

textField.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}


查看完整回答
反对 回复 2019-07-25
?
跃然一笑

TA贡献1826条经验 获得超6个赞

您可以在界面构建器中建立此连接。

  1. 在故事板中,单击屏幕顶部的助理编辑器(中间的两个圆圈)。 

  2. Ctrl +单击界面构建器中的文本字段。

  3. 从EditingChanged拖动到助手视图中的视图控制器类内部。 

  4. 为您的函数命名(例如“textDidChange”),然后单击“连接”。 


查看完整回答
反对 回复 2019-07-25
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

Swift 3.0

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

和处理方法:

func textFieldDidChange(textField: UITextField) { }

Swift 4.0

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

和处理方法:

@objc func textFieldDidChange(_ textField: UITextField) {}

Swift 5.0

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

和处理方法:

@objc func textFieldDidChange(_ textField: UITextField) {}


查看完整回答
反对 回复 2019-07-25
  • 3 回答
  • 0 关注
  • 520 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信