簡體   English   中英

UITextField文本更改回調

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM