为UITextField的didEndOnExit事件分配方法

Fra*_*k V 6 iphone cocoa-touch uitextfield

如何以编程方式将方法(观察者?)分配给对象的didEndOnExit事件UITextField

这在IB中很容易做到,但我无法弄清楚如何在代码中完成它.

Fra*_*k V 30

我只想出来......

[mytextField addTarget:self 
        action:@selector(methodToFire:)
        forControlEvents:UIControlEventEditingDidEndOnExit];
Run Code Online (Sandbox Code Playgroud)


Cor*_*oyd 5

在您的视图控制器中实现以下方法:

- (void)textFieldDidEndEditing:(UITextField *)textField{

//do stuff

}
Run Code Online (Sandbox Code Playgroud)

不要忘记在 viewDidLoad 或初始值设定项中设置委托:

myTextField.delegate = self;
Run Code Online (Sandbox Code Playgroud)

  • 这是一个旧的,但这里的区别在于“退出”部分。`textFieldDidEndEditing:` 在字段完成编辑时调用,通过点击键盘中的 Return 键或点击视图中的其他内容。`didEndOnExit` 事件仅在使用键盘上的 Return 键时发生。看起来`UITextFieldDelegate` 缺少这个事件的方法。 (2认同)