2

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

4

2 回答 2

1

为了获得解决方案,我不得不稍微修改我的原始实现:我已经用创建和销毁自定义不可见视图来替换分配nil给我的主视图的成员,以相应地显示和隐藏键盘。这使我可以覆盖此视图的方法,该方法总是在键盘辞职时调用 - 在正常或拆分状态下,当用户使用特殊按钮关闭键盘或以编程方式将其删除时。inputViewUIView<UIKeyInput>resignFirstResponder

于 2013-07-26T14:10:43.107 回答
0

我相信UIKeyboardDidHideNotification只有在键盘真正消失时才会发送。来自苹果文档

解雇键盘后立即发布。

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

BOOL keyboardUp = NO;

for (UIView *view in self.textInputs)
{
  if (view.isFirstResponder)
  {
    keyboardUp = YES;
    break;
  }
}  
于 2013-07-22T15:58:38.123 回答