キーボードから入力を受け取るカスタムクラスのインスタンスが複数あります。あなたは考えることができますUITextField
(しかし、彼らはそうではありませんUITextField
、彼らはそうですNSObject
)。ただし、それらはすべてプロパティを持っていますUIControl *control
。
これらのオブジェクトはインスタンス化されて配列に入れられ(順序は重要です)、同じ順序で画面に配置されます。
シナリオ1:最初のオブジェクトのユーザータブ、それが最初のレスポンダーになります。ユーザーが(同じクラスの)別のオブジェクトをタップすると、それがファーストレスポンダーになります。問題ない。
シナリオ2:最初のオブジェクトのユーザータブ、それが最初のレスポンダーになります。TAB
ユーザーがキーボード(iPadまたはiPhoneまたはワイヤレスキーボード)のボタンをタップすると、配列内の次のオブジェクトが次のレスポンダーになります。iOSはランダムに選択します[?または、いくつかのロジックが明確ではありません]私が望むのと同じ順序ではない別のオブジェクト。
問題:これらのオブジェクトはNSObject
sであるため、次のオブジェクトへの遷移をインターセプトするにはどうすればよいですか。タグを使用したり、ファーストレスポンダーを追跡したりしましたが、問題は、ユーザーがオブジェクトを順不同でタップした場合、それで問題ないということです。それを傍受したくないのです。キーボードの(またはまたは)ボタンをタップした場合にのみ、1つのオブジェクトから葯への遷移をインターセプトしたい。TAB
Next
Return
何か案が?ありがとう。