iPhoneでAppleのメッセージアプリに似たUIを作成したいと思います。テーブルビューとその下にテキストフィールドがあります。テキストフィールドを選択すると、キーボードが上にスライドしてコンテンツがキーボードの上に表示されるように、テーブルビューのcontentInsetをアニメーション化します。
パンジェスチャレコグナイザーを使用して、ユーザーがテーブルビューを下にスクロールしていることを検出し、キーボードを下にアニメーション化するコードがあります(Appleのメッセージアプリが表示されている場合は、キーボードを閉じるのと同じ機能があります。下にスクロールしますテーブルビューで、指がテキストフィールドを通過すると、キーボードが下に移動します)。
これはうまく機能しますが、テーブルビューを上にスクロールし、キーボードが下にスライドするときにコンテンツインセットを変更し始めると、テーブルビューが上を通り過ぎてから上に戻り、奇妙なぎくしゃくしたアニメーションが発生します。これは、contentInsetを変更すると、テーブルビューが上部を超えてスクロールされた場合に、contentOffsetがテーブルビューの上部にリセットされ、奇妙な動作をするためだと思います。
contentOffsetを変更せずにスクロールビューのcontentInsetを変更する方法を知っている人はいますか?