スクロール ビューを表示したいタブ付きアプリケーションがあります。そのタブには、すでにいくつかのテキスト フィールドとラベルがあります。問題は、キーボードがテキスト フィールドの一部を隠していることです。それを防ぐために垂直スクロールを追加するにはどうすればよいですか?
質問する
179 次
2 に答える
1
スクロールビューなしで探しているものを達成できます。
テキストフィールドのデリゲート メソッドでは、viewController のビューのフレームを変更できます。
何かのようなもの
- (void)textFieldDidBeginEditing:(UITextField *)textField;
{
CGRect newFrame = self.view.frame;
newFrame.origin.y = - 40; // move the view up to the point your textfield is visible
self.view.frame = newFrame;
}
次に、[元に戻す] で
- (void)textFieldDidEndEditing:(UITextField *)textField;
{
CGRect newFrame = self.view.frame;
newFrame.origin.y = 0;
self.view.frame = newFrame;
}
通常、これを 0.33 秒の長さでアニメーション化します。
于 2012-12-28T17:22:11.063 に答える
0
このソリューションにはかなりのコードが必要ですが、必要なものの一般的な考え方は次のとおりです。
テキスト フィールド (および一貫性を保つためにその他すべて) を scrollView に追加する必要があります。
垂直スクロール スペースのみを持つようにスクロール ビューを設定する必要がありますがscrollEnabled
、ユーザーが手動でスクロールできないように false に設定する必要があります。
次に、必要に応じてそれを聞いてUIKeyboardWillShowNotification
、UIKeyboardWillHideNotification
手動で上下にスクロールする必要があります。
于 2012-12-28T17:16:34.213 に答える