2017-07-19 12 views
0

我有一個返回鍵類型爲Done的UITextField,並且我已經設置委託在點擊返回按鈕時退出第一響應者狀態。我還設置了一個editingChanged操作,讓我知道用戶何時編輯文本。但它似乎並未在以下情況下被調用。當文本被自動更正時,UITextField不會調用editingChanged事件

假設用戶在文本字段中輸入了「Pizzs」。觸發editingChanged操作,它說文本字段的值是「Pizzs」。同時,在鍵盤提示欄中提出「比薩」作爲建議。如果他們擊中空格鍵,則會接受自動更正,並調用editingChanged事件,並顯示新文本「Pizza」。但是,如果他們擊中Done,那麼鍵盤被解散,文本在UITextField中變爲「比薩」,但從不調用editingChanged

這是一個錯誤,對吧?我應該向蘋果報告嗎?還是這種預期的行爲,因爲文本正在以編程方式而不是用戶改變?任何人都可以想到一個很好的解決方法?

回答

0

你應該使用這個

[textField addTarget:self 
      action:@selector(myTextFieldDidChange:) 
forControlEvents:UIControlEventEditingChanged]; 



- (void)myTextFieldDidChange:(id)sender { 
// Handle change. 
} 
+0

我有。該行動沒有在我描述的情況下被調用。 –

相關問題