[英]UITextField text change callback
我有一個名為textFieldInput的UITextField和一些按鈕。 不知怎的,我禁用了輸入視圖,這樣如果有人點擊texField,就不會顯示鍵盤。 按編程方式按下按鈕時,我正在添加文本。 我想抓住這個變化。 我想在textField的文本發生變化時調用函數。 我怎樣才能做到這一點?
我嘗試添加以下功能
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)replacementStr {
// some my code
return YES;
}
但這不起作用。 這只在我點擊textField時調用。
我還嘗試在viewDidLoad函數中添加以下內容
[textFieldInput addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
這也行不通。
我怎樣才能做到這一點?
謝謝。
注冊通知。
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(textChanged:)
name:UITextFieldTextDidChangeNotification
object:YOUR_TEXT_FIELD];
shouldChangeCharactersInRange:
這只有在您使用實現此方法的控制器設置其委托時才有效。 另一種方式是:
添加這些行viewDidLod
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self
selector:@selector (handle_TextFieldTextChanged:)
UITextFieldTextDidChangeNotification
object: textFieldInput];
並實現handle_TextFieldTextChanged:
- (void) handle_TextFieldTextChanged:(id)notification {
// write your logic here.
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.