私のアプリでは、ユーザーがデータを入力するUITextFieldsとUITextViewsがたくさんあります。ユーザーがフィールドをタップすると、最初のレスポンダーになり、キーボードがうまく表示されます。ユーザーが別のフィールドをタップすると(現在のフィールドを変更した後)、キーボードは消え、現在のフィールドは最初のレスポンダではなくなります。しかし、タップされたフィールドはすぐに新しい最初のレスポンダーになることはなく、キーボードは閉じる。最初の応答者になるように要求したUIViewを取得するには?
私のアプリでは、フィールドが変更された後、すべてのデータを再計算し、他のすべてのフィールドの値をリセットします。私はこれが、新しくタップされたフィールドが最初のレスポンダの要求を緩める原因になっていると考えています。再計算の影響を受けず、正しく動作するフィールドがいくつかあります(つまり、すぐにフォーカスが得られ、キーボードは開いたままです)。だから、フィールドの値やプロパティを変更すると、保留中のファーストレスポンダリクエストがリセットされることは間違いありません。
フィールドが最初のレスポンダキューに保留中であるかどうかを検出するにはどうすればよいですか?
このキューから削除せずに変更するにはどうすればよいですか?
「ファーストレスポンダキュー」はありません。通常、ユーザーがフィールドをタップすると、キーボードがすでに表示されていた場合、キーボードは消えません。だからあなたはそれを遠ざけるに違いありません。なぜそれがあるのか考える必要があります。 – matt
えええええええええええええええええ、もう、ここであなたが抱えている問題は何ですか?またはあなたは何を達成しようとしていますか? – NSAdi
別のUITextFieldをタップすると、現在のフィールドのresignFirstResponder()が私のコードではなく(私が知る限り)iOSによって呼び出されます。私は、textFieldDidEndEditing()メソッドから他のフィールドへの更新を行っています。だから私はキーボードを閉じているわけではない(少なくとも直接ではない)。 – zkon