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