有没有办法知道iOS键盘真的被隐藏(被用户解雇)?

时间:2013-07-22 13:39:19

标签: ios ipad uikeyboard

当用户使用键盘上的“键盘”按钮手动关闭iOS键盘时,我需要一种方法来检测案例。我尝试使用UIKeyboardDidHideNotification,但很快发现当用户拆分键盘时将此事件触发,将其留在屏幕上。
有没有办法确定键盘真的被隐藏了?

2 个答案:

答案 0 :(得分:1)

要获得解决方案,我必须稍微修改我的原始实现:我已经替换为我的主视图的nil成员分配了inputView创建和销毁自定义不可见UIView<UIKeyInput>视图以显示并相应地隐藏键盘。这允许我覆盖此视图的resignFirstResponder方法,该方法在键盘重新调用时始终 - 在正常或分离状态下,当用户使用特殊按钮解除键盘或以编程方式删除键盘时。

答案 1 :(得分:0)

我相信UIKeyboardDidHideNotification仅在键盘真正消失时发送。来自Apple docs

  

在解雇键盘后立即发布。

但是,您还可以查看当前是否有任何输入是第一个响应者:

BOOL keyboardUp = NO;

for (UIView *view in self.textInputs)
{
  if (view.isFirstResponder)
  {
    keyboardUp = YES;
    break;
  }
}