我怎样才能得到通知UITextField
becomeFirstResponder
?
我可以通过以下方式查看喜欢isFirstResponder
或设置成为第一响应者becomeFirstResponder
当用户将此文本字段设为第一响应者时,我想得到通知或处理事件。
谢谢。
我怎样才能得到通知UITextField
becomeFirstResponder
?
我可以通过以下方式查看喜欢isFirstResponder
或设置成为第一响应者becomeFirstResponder
当用户将此文本字段设为第一响应者时,我想得到通知或处理事件。
谢谢。
您将需要成为文本字段的委托并实现此可选委托方法:
- (void)textFieldDidBeginEditing:(UITextField *)textField;
除了实现UITextFieldDelegate
方法之外textFieldDidBeginEditing:
,您还可以注册UITextFieldTextDidBeginEditingNotification
通知。
通知方法可以是:
- (void)someTextFieldDidBeginEditing:(NSNotification *)notification {
UITextField *textField = (UITextField *)notification.object;
}
代表绝对是要走的路。不幸的是,在我的情况下我不能使用它,因为控制器是我的 UITextField 子类的代表,我需要修改它的占位符文本。相反,我覆盖了方法- (BOOL)canBecomeFirstResponder;
& - (BOOL)resignFirstResponder;
。一定要打电话给超级。
对于 OSX,您应该注意在依赖NSControlTextDidBeginEditingNotification
.
当您开始编辑时,按一些按钮,然后继续编辑文本字段,当您继续编辑时,您将没有一秒钟的NSControlTextDidBeginEditingNotification
时间。
如果此行为导致问题,UITextFieldTextDidChangeNotification
则可能是一种替代方法。