テキストボックスとその横にボタンを追加したい。それらはウィンドウの下部にあります。次に、(何かを入力するために) テキストボックスに触れると、キーボードが表示され、行全体 (テキストボックスとボタンを含む) が上にスクロールし、キーボードがそのすぐ下に表示されます。どうすればそれができるか教えてください。
サンプルプログラムはありますか?
ありがとう。
テキストボックスとその横にボタンを追加したい。それらはウィンドウの下部にあります。次に、(何かを入力するために) テキストボックスに触れると、キーボードが表示され、行全体 (テキストボックスとボタンを含む) が上にスクロールし、キーボードがそのすぐ下に表示されます。どうすればそれができるか教えてください。
サンプルプログラムはありますか?
ありがとう。
XCode のドキュメントiPhone アプリケーション プログラミング ガイドには、「キーボードの下にあるコンテンツの移動」に関するセクションがあり、キーボードが表示されようとしているときにキーボード通知を受け取ることについて説明しています。キーボードのサイズを取得する方法を示すコードがあります (向きによって異なります)。ここでは繰り返しません。
同じ手法を使用して、UIKeyboardWillShowNotification
通知を取得し、キーボードが最終的に到達する高さを取得できます。これにより、ビューが移動する必要がある場所の下端が得られ、効果的にキーボードの上に配置されます。したがって、テキストボックスとボタンをビュー内に配置するだけです。通知を受け取ったら、移動する必要がある場所 (キーボードの高さ + コンテナー ビューの高さ) をビューに伝えれば完了です。UIKeyboardWillHideNotification
また、ビューを元の場所に戻すためにキャッチする必要があるため、元のコンテナー ビューの位置を追跡します。
これは非常に簡単で、特に優れた UIView アニメーション効果を使用してタイミングを適切に設定すると、見栄えがよくなります。