1
私はiOSの新機能です。私はUITextField
がUITableView
の下にあり、UITextField
とUITableView
がUIScrollView
(私はself.scrollView.scrollEnabled = NO;
でスクロール・ビューでスクロールを無効にしています)の中にあるようにチャット・アプリケーションを作っています。
私はUITextField
をタップし、キーボードが示されたので、私はこのコードではManaging the Keyboard docIOS:UITextField + UITcrollView内のUITableView
// Called when the UIKeyboardDidShowNotification is sent.
- (void)keyboardWasShown:(NSNotification*)aNotification
{
NSDictionary* info = [aNotification userInfo];
CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0);
self.scrollView.contentInset = contentInsets;
self.scrollView.scrollIndicatorInsets = contentInsets;
// If active text field is hidden by keyboard, scroll it so it's visible
// Your app might not need or want this behavior.
CGRect aRect = self.view.frame;
aRect.size.height -= kbSize.height;
if (!CGRectContainsPoint(aRect, self.activeField.frame.origin)) {
[self.scrollView scrollRectToVisible:self.activeField.frame animated:YES];
}
}
// Called when the UIKeyboardWillHideNotification is sent
- (void)keyboardWillBeHidden:(NSNotification*)aNotification
{
UIEdgeInsets contentInsets = UIEdgeInsetsZero;
self.scrollView.contentInset = contentInsets;
self.scrollView.scrollIndicatorInsets = contentInsets;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
self.activeField = textField;
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
self.activeField = nil;
}
、がある
成功キーボードしかし、問題の上に私のTextField
の動きに従ってくださいキーボードの上にUITextField
を移動します。 TableView
では、キーボードが表示されたときに、上にある項目(約2項目)を見るためにスクロールできません。私のテーブルビューは、キーボードが表示されたとき、私は唯一の8itemsを見ることができる10itemsを持っている場合には、2つの残りの項目はまだ
存在しますが、私はここで彼らに
をスクロールすることはできません、私は多分、コンテンツのインセットを考えて、私のDemo Project
ですUITableView
は間違っていますが、修正方法はわかりません。 すべてのヘルプは素晴らしい高く評価