[英]get notified when UITextField 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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.