iOS SDKの場合:
キーボードを表示するUIView
with UITextField
sがあります。私はそれができるようにするためにそれが必要です:
のコンテンツをスクロールして
UIScrollView
、キーボードが表示されたら他のテキストフィールドを表示できるようにします自動的に「ジャンプ」(上にスクロール)または短縮
私は私が必要であることを知っていますUIScrollView
。私のクラスUIView
をaに変更しようとしましたUIScrollView
が、それでもテキストボックスを上下にスクロールできません。
a UIView
とaの両方が必要UIScrollView
ですか?片方はもう片方に入りますか?
アクティブなテキストフィールドに自動的にスクロールするには、何を実装する必要がありますか?
理想的には、可能な限り多くのコンポーネントのセットアップをInterface Builderで実行します。必要なものだけのコードを書きたいのですが。
注:私が作業しているUIView
(またはUIScrollView
)はUITabBar
、通常どおり機能する必要があるタブバー()によって表示されます。
編集:キーボードが表示されたときのためにスクロールバーを追加しています。必須ではありませんが、たとえばユーザーがスクロールしてテキストボックスを変更できるため、より良いインターフェイスが提供されているように感じます。
UIScrollView
キーボードを上下に動かしたときにのフレームサイズを変更すると、正常に機能します。私は単に使用しています:
-(void)textFieldDidBeginEditing:(UITextField *)textField {
//Keyboard becomes visible
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height - 215 + 50); //resize
}
-(void)textFieldDidEndEditing:(UITextField *)textField {
//keyboard will hide
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height + 215 - 50); //resize
}
ただし、これは自動的に「上に移動」したり、下部のテキストフィールドを表示領域の中央に配置したりするものではありません。