2016-04-07 16 views
1

私はiOSの新機能です。私はUITextFieldUITableViewの下にあり、UITextFieldUITableViewUIScrollView(私は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は間違っていますが、修正方法はわかりません。 すべてのヘルプは素晴らしい高く評価

答えて

関連する問題