如何使用tableView.contentOffset
动画同步 隐藏/显示 键盘动画?
在我的程序中,当我点按tableView
的单元格时,此tableView.contentOffset
更改,单元格textField
成为第一响应者。我尝试同步这个动作的动画,但没有结果。
更新
我喜欢解决方案:
[UIView animateWithDuration:0.2
animations:^{[textView becomeFirstResponder];
tableView.contentOffset = CGPointMake(0, 100.0f);}
completion:^(BOOL finished){}];
但仍然存在一个问题:当我第一次调用此方法时,键盘从位置开始,而不是像往常一样。第二次调用这个方法时,没事。我该如何修复这个错误?
答案 0 :(得分:0)
我假设您在项目中使用自动布局。假设您已将顶部,右侧,底部和左侧约束应用于UITableView,并且当键盘上升时您只需要将底部约束更新为键盘高度并且时间sdk UITextField将自动滚动到UITableView上可见的位置,这个你不需要设置内容偏移量。
你可以添加“UIKeyboardWillShowNotification”的通知,所以在显示keyobard之前,UITableView的高度会因为更新底部约束而降低,然后控件将继续在UItextField上,这样就会自动显示。