テキストフィールドでキーボードが非表示になったり表示されたりするときにビューが上に移動するようにアニメーションを設定しようとしていますが、完全に正常に動作するようになりましたが、フォーカスがあるテキストフィールドから別のテキストフィールドに移動すると機能しませんキーボードはすでに表示されているためです。
viewDidLoad では、以下を登録しました。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
次に、keyboardWillShow および keyboardWillHide メソッドで、ビューを移動するかどうかを決定し、それに応じてアニメーション化します。しかし、キーボードが既に表示されていて、ビューを上に移動する必要がある別のテキスト フィールドをユーザーがクリックした場合、メソッドは呼び出されません。キーボードが既に表示されているときにフォーカスが別のテキスト フィールドに変更されたかどうかを検出する方法はありますか? すべてのテキスト フィールドをデリゲートに設定せずにこれを行う方法があれば、それは素晴らしいことです。
前もって感謝します。