tableView.keyboardDismissMode 设置为 .Interactive 时使用键盘移动工具栏
Move toolbar with keyboard when tableView.keyboardDismissMode is set to .Interactive
我有一个消息视图,带有类似于消息应用程序中的工具栏。我正在使用 AutoLayout 并且有从 toolbar.bottom
到 bottomlayoutguide.bottom
的约束,我将 constant
更改为 notification.userInfo[UIKeyboardFrameEndUserInfoKey]
并通知 UIKeyboardWillShowNotification
.
在这个视图中,我有一个 tableView,我已将 keyboardDismissMode
设置为 Interactive
。现在我遇到的问题是我无法使用上述方法将我的工具栏向下移动,因为这不会是交互式的(我只有一个用于 willhide 和 didhide)。
我怎样才能让它具有互动性?
编辑:澄清
使用 UIKeyboardWillHideNotification
和 UIKeyboardDidHideNotification
不是一个选项,因为我只收到 2 个通知,一次是用户开始向下滑动,一次是键盘隐藏。当我有 tableView.keyboardDismissMode
到 .Interactive
时,用户可以改变主意并在我得到 UIKeyboardWillHideNotification
时仍然让键盘可见。
另加"UIKeyboardWillHideNotification"。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onUIKeyboardWillHideNotification:) name:UIKeyboardWillHideNotification object:nil];
稍作搜索后抱歉。
好像是当你向下拖动tableView的时候UIKeyboard动画没有提示
有2个解。
将您的工具栏添加到 inputAccessoryView。
添加一个0高度的inputAccessoryView。并观察它是 superView 的 frame(iOS 7) 还是 center(iOS 8)。查看更多 here
或者直接使用open source
我有一个消息视图,带有类似于消息应用程序中的工具栏。我正在使用 AutoLayout 并且有从 toolbar.bottom
到 bottomlayoutguide.bottom
的约束,我将 constant
更改为 notification.userInfo[UIKeyboardFrameEndUserInfoKey]
并通知 UIKeyboardWillShowNotification
.
在这个视图中,我有一个 tableView,我已将 keyboardDismissMode
设置为 Interactive
。现在我遇到的问题是我无法使用上述方法将我的工具栏向下移动,因为这不会是交互式的(我只有一个用于 willhide 和 didhide)。
我怎样才能让它具有互动性?
编辑:澄清
使用 UIKeyboardWillHideNotification
和 UIKeyboardDidHideNotification
不是一个选项,因为我只收到 2 个通知,一次是用户开始向下滑动,一次是键盘隐藏。当我有 tableView.keyboardDismissMode
到 .Interactive
时,用户可以改变主意并在我得到 UIKeyboardWillHideNotification
时仍然让键盘可见。
另加"UIKeyboardWillHideNotification"。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onUIKeyboardWillHideNotification:) name:UIKeyboardWillHideNotification object:nil];
稍作搜索后抱歉。
好像是当你向下拖动tableView的时候UIKeyboard动画没有提示
有2个解。
将您的工具栏添加到 inputAccessoryView。
添加一个0高度的inputAccessoryView。并观察它是 superView 的 frame(iOS 7) 还是 center(iOS 8)。查看更多 here
或者直接使用open source