当tableView.keyboardDismissMode设置为.Interactive时,使用键盘移动工具栏

时间:2015-05-07 09:48:30

标签: ios uitableview swift uikeyboard

我有一个消息传递视图,在消息应用程序中有一个工具栏。我正在使用AutoLayout,并且有toolbar.bottombottomlayoutguide.bottom的约束,我将constant更改为notification.userInfo[UIKeyboardFrameEndUserInfoKey]并通知UIKeyboardWillShowNotification

在此视图中,我有一个tableView,我将keyboardDismissMode设置为Interactive。现在我遇到的问题是我不能使用上面的方法来移动我的工具栏,因为这不会是交互式的(我只能获得一个用于隐藏和隐藏的工具)。

如何进行互动?

编辑:澄清

使用UIKeyboardWillHideNotificationUIKeyboardDidHideNotification不是一个选项,因为一旦用户开始向下滑动,一旦键盘确实隐藏,我只会收到2个通知。当我有tableView.keyboardDismissMode.Interactive时,用户可以改变主意,并在我得到UIKeyboardWillHideNotification时仍然可以看到键盘。

2 个答案:

答案 0 :(得分:2)

经过一番搜索后对不起。

当您向下拖动tableView时,听起来没有关于UIKeyboard动画的通知。

有2个解决方案。

  1. 将工具栏添加到inputAccessoryView。

  2. 添加0高度inputAccessoryView。并观察它的superView框架(iOS 7)或中心(iOS 8)。查看更多here

    或者只使用open source

答案 1 :(得分:1)

还添加“UIKeyboardWillHideNotification”。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onUIKeyboardWillHideNotification:) name:UIKeyboardWillHideNotification object:nil];