アプリケーションにUITextFieldがあります。フィールドに入力できる文字のセットを、定義したセットに制限したいと思います。UITextFieldDelegateメソッドを使用して、テキストがコミットされるときにフィールドに入力された文字をフィルタリングできます。
- (BOOL)textFieldShouldReturn:(UITextField*)textField
ただし、これはユーザーに誤った印象を与えます。制限された文字は最終値から削除されますが、Return/Doneなどを押す前にテキストフィールドに表示されたままであるためです。制限された文字がキーボードで選択されたときにテキストフィールドに表示されないようにするための最良のアプローチは何ですか?
注:私は、iPhoneキーボードによって提供されるキーをほとんど制御できないという前提で操作しています。さまざまなキーボードの実装を切り替えることができることは承知していますが、特定のキーを無効にできないという印象を受けています。この仮定は正しくない可能性があります。