Ios 隐藏覆盖UITableVIew的UIKeyboard时过渡不平滑

Ios 隐藏覆盖UITableVIew的UIKeyboard时过渡不平滑,ios,uitableview,uikeyboard,Ios,Uitableview,Uikeyboard,我一直在关注这个苹果教程,关于键盘在显示时覆盖字段: 除了隐藏键盘,我的UITtableView只是调整了大小,剪切到了合适的尺寸,没有平滑的过渡外,一切都正常。使用UITableViewController时,此效果更加平滑,您可以清楚地看到如何向下滚动查看,而不仅仅是立即缩小 对此有什么建议吗 编辑: 我会尽量说得更准确些。当用户点击其中一个文本字段时,将显示键盘并调用此方法: - (void) keyboardWasShown: (NSNotification*) keyboardNot

我一直在关注这个苹果教程,关于键盘在显示时覆盖字段:

除了隐藏键盘,我的
UITtableView
只是调整了大小,剪切到了合适的尺寸,没有平滑的过渡外,一切都正常。使用
UITableViewController
时,此效果更加平滑,您可以清楚地看到如何向下滚动查看,而不仅仅是立即缩小

对此有什么建议吗

编辑:

我会尽量说得更准确些。当用户点击其中一个文本字段时,将显示键盘并调用此方法:

- (void) keyboardWasShown: (NSNotification*) keyboardNotification {
 NSDictionary *userInfo = [keyboardNotification userInfo];
 CGSize size = [[userInfo valueForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
 UIEdgeInsets insents = UIEdgeInsetsMake(0, 0, size.height - 44, 0); // 44 because keyboard goes over toolbar 

 self.revisionTableView.contentInset = insents;
 self.revisionTableView.scrollIndicatorInsets = insents;
} 
完成编辑后,点击键盘上的“完成”按钮,键盘将隐藏。在此期间,调用此方法:

 - (void) keyboardWillHide: (NSNotification*) keyboardNotification {
 UIEdgeInsets insents = UIEdgeInsetsZero;
 self.revisionTableView.contentInset = insents;
 self.revisionTableView.scrollIndicatorInsets = insents;
}

尽管一切都恢复到了以前的状态,但过渡并不顺利,就像我在使用
UITableViewController
时点击键盘上的“完成”按钮一样,您的问题非常令人困惑,只是不清楚问题出在哪里。通常情况下,当键盘出现时,您不会调整表格的大小-您可以向上滚动表格,使正在编辑的单元格位于屏幕顶部或键盘上方,当键盘向下滑动时,您可以将表格动画设置回启动时的位置。全世界的人都在这样做。我不知道为什么UITableViewController子类比UIViewController子类做得更好。