我有一个消息传递视图,在消息应用程序中有一个工具栏。我正在使用AutoLayout,并且有toolbar.bottom
到bottomlayoutguide.bottom
的约束,我将constant
更改为notification.userInfo[UIKeyboardFrameEndUserInfoKey]
并通知UIKeyboardWillShowNotification
。
在此视图中,我有一个tableView,我将keyboardDismissMode
设置为Interactive
。现在我遇到的问题是我不能使用上面的方法来移动我的工具栏,因为这不会是交互式的(我只能获得一个用于隐藏和隐藏的工具)。
如何进行互动?
编辑:澄清
使用UIKeyboardWillHideNotification
和UIKeyboardDidHideNotification
不是一个选项,因为一旦用户开始向下滑动,一旦键盘确实隐藏,我只会收到2个通知。当我有tableView.keyboardDismissMode
到.Interactive
时,用户可以改变主意,并在我得到UIKeyboardWillHideNotification
时仍然可以看到键盘。
答案 0 :(得分:2)
经过一番搜索后对不起。
当您向下拖动tableView时,听起来没有关于UIKeyboard动画的通知。
有2个解决方案。
将工具栏添加到inputAccessoryView。
添加0高度inputAccessoryView。并观察它的superView框架(iOS 7)或中心(iOS 8)。查看更多here
或者只使用open source
答案 1 :(得分:1)
还添加“UIKeyboardWillHideNotification”。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onUIKeyboardWillHideNotification:) name:UIKeyboardWillHideNotification object:nil];