我想滑动一个文本框,它位于tableview的底部(实际上,在其页脚视图中)。所以我尝试了两种方法:键盘显示时滑动tableview
- 要动态自动布局约束的tableview
仍然
动画contentInsets
func keyboardWillShow(notification: NSNotification) { if let keyboardHeight = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue.height { UIView.animate(withDuration: 0.2, animations: { self.tableView.contentInset = UIEdgeInsetsMake(0, 0, keyboardHeight, 0) }) } } func keyboardWillHide(notification: NSNotification) { UIView.animate(withDuration: 0.2, animations: { self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0) }) }
动画效果自动布局约束
所以在第一个例子中,我从来没有注意到animati上,也不tableview内容移动。在第二个示例中,我创建了一个自动布局约束(底部垂直间距)的出口,但我得到了一些奇怪的结果。例如,tableview向上移动,但不完全,只有第一次。
如果我放了一个断点,keyboardHeight
等于471
。我错过了一些明显的东西?
使用[IQKeyboardManager](https://github.com/hackiftekhar/IQKeyboardManager#installation- with-cocoapod-) – pkc456
@ pkc456对不起,没有第三方是我的选择。 – Whirlwind
为什么你不能在模拟器上测试? – Devster101