2

テキストボックスとその横にボタンを追加したい。それらはウィンドウの下部にあります。次に、(何かを入力するために) テキストボックスに触れると、キーボードが表示され、行全体 (テキストボックスとボタンを含む) が上にスクロールし、キーボードがそのすぐ下に表示されます。どうすればそれができるか教えてください。

サンプルプログラムはありますか?

ありがとう。

4

2 に答える 2

4

マット・ギャラガーは自身のブログに次のように投稿しています。

キーボードを避けるために UITextFields をスライドさせる

これは、まさにあなたが望むものの段階的な例です。

于 2009-05-15T08:06:15.743 に答える
3

XCode のドキュメントiPhone アプリケーション プログラミング ガイドには、「キーボードの下にあるコンテンツの移動」に関するセクションがあり、キーボードが表示されようとしているときにキーボード通知を受け取ることについて説明しています。キーボードのサイズを取得する方法を示すコードがあります (向きによって異なります)。ここでは繰り返しません。

同じ手法を使用して、UIKeyboardWillShowNotification通知を取得し、キーボードが最終的に到達する高さを取得できます。これにより、ビューが移動する必要がある場所の下端が得られ、効果的にキーボードの上に配置されます。したがって、テキストボックスとボタンをビュー内に配置するだけです。通知を受け取ったら、移動する必要がある場所 (キーボードの高さ + コンテナー ビューの高さ) をビューに伝えれば完了です。UIKeyboardWillHideNotificationまた、ビューを元の場所に戻すためにキャッチする必要があるため、元のコンテナー ビューの位置を追跡します。

これは非常に簡単で、特に優れた UIView アニメーション効果を使用してタイミングを適切に設定すると、見栄えがよくなります。

于 2009-05-15T01:36:26.070 に答える