如何同步隐藏/显示键盘动画与tableView.contentOffset
动画?在我的程序中,当我点击tableView
的细胞时,这个tableView.contentOffset
改变,细胞的textField
成为第一响应者。我尝试同步这个动作的动画,但没有结果。
我喜欢的解决方案:
[UIView animateWithDuration:0.2
animations:^{[textView becomeFirstResponder];
tableView.contentOffset = CGPointMake(0, 100.0f);}
completion:^(BOOL finished){}];
但是仍然有一个问题:当我第一次调用这个方法时,键盘从位置出现,而不是像往常一样在底部。当第二次调用这个方法时。我如何修复这个bug?
我假设你在你的项目中使用自动布局。假设你已经在UITableView上应用了上、右、下、左约束,当键盘向上时,你只需要将底部约束更新为键盘高度,那时sdk UITextField将自动滚动到它在UITableView上可见的位置,为此你不需要设置内容偏移量。
你可以为"UIKeyboardWillShowNotification"添加通知所以在显示键盘之前UITableView的高度会通过更新底部约束得到降低然后控件会在UItextField上运行所以这个会自动可见