Ios 如何同步contentOffset更改和隐藏/显示键盘的动画?

Ios 如何同步contentOffset更改和隐藏/显示键盘的动画?,ios,uitableview,synchronization,core-animation,Ios,Uitableview,Synchronization,Core Animation,如何将hidind/showing键盘动画与tableView.contentOffset动画同步? 在我的程序中,当我点击tableView的单元格时,这个tableView.contentOffset发生变化,单元格的textField成为第一响应者。我尝试同步此动作的动画,但没有结果 更新 我喜欢的解决方案是: [UIView animateWithDuration:0.2 animations:^{[textView becomeFirstResponder];

如何将hidind/showing键盘动画与
tableView.contentOffset
动画同步? 在我的程序中,当我点击
tableView
的单元格时,这个
tableView.contentOffset
发生变化,单元格的
textField
成为第一响应者。我尝试同步此动作的动画,但没有结果

更新

我喜欢的解决方案是:

 [UIView animateWithDuration:0.2
         animations:^{[textView becomeFirstResponder];
                      tableView.contentOffset = CGPointMake(0, 100.0f);}
         completion:^(BOOL finished){}];

但仍然有一个问题:当我第一次调用这个方法时,键盘从位置移动,而不是像往常一样按下按钮。当第二次调用这个方法时,好的。如何修复此错误?

我假设您在项目中使用自动布局。假设您已将“上”、“右”、“下”和“左”约束应用于UITableView,当键盘向上移动时,您只需将“下”约束更新为“键盘高度”,此时sdk UITextField将自动滚动到在UITableView上可见的位置,因此您无需设置“内容偏移”

您可以为“UIKeyboardWillShowNotification”添加通知,这样在显示keyobard之前,UITableView高度将通过更新底部约束而降低,然后控件将转到UItextField,这样它将自动可见