2017-07-19 8 views
0

戻り値の型がDoneのUITextFieldがあります。戻りボタンがタップされたときに最初のレスポンダステータスを終了するようにデリゲートを設定しました。また、ユーザがテキストを編集したときに私に知らせるためにeditingChangedアクションを設定しました。しかし、それは次の文脈で呼び出されていないようです。テキストが自動修正されたときにUITextFieldがeditingChangedイベントを呼び出さない

ユーザーがテキストフィールドに「Pizzs」と入力したとします。 editingChangedアクションがトリガーされ、テキストフィールドの値が「Pizzs」と表示されます。一方、「ピザ」はキーボードの提案バーの提案として登場する。スペースバーにヒットした場合、自動修正が受け入れられ、editingChangedイベントが呼び出され、新しいテキスト「ピザ」が表示されます。しかし、キーボードがDoneに達した場合、キーボードは閉じられ、テキストはUITextFieldの "Pizza"に変更されますが、editingChangedは決して呼び出されません。

これはバグです。私はそれをAppleに報告すべきでしょうか?または、テキストはユーザーではなくプログラマチックに変更されているため、この動作が期待されていますか?そして、誰かが良い回避策を考えることができますか?

答えて

0

あなたは、私が持っているこの

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



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

を使用する必要があります。私が記述したシナリオではアクションは呼び出されていません。 –

関連する問題