关闭 IPAD 上的键盘

Posted

技术标签:

【中文标题】关闭 IPAD 上的键盘【英文标题】:Dismiss keyboard on IPAD 【发布时间】:2010-07-23 08:55:51 【问题描述】:

Iphone 上 UITextField 的 ResignFirstResponder 似乎不适用于 Ipad。 如何以编程方式关闭我的键盘?

谢谢,

【问题讨论】:

【参考方案1】:

ios 4.3 中,Apple 引入了上述方法,disablesAutomaticKeyboardDismissal。它为 UIModalPresentationFormSheet 返回 YES,防止键盘关闭。

覆盖这个方法是可行的,但是如果你在 UINavigationController 中展示你的视图控制器,你必须继承 UINavigationController 并覆盖那里的方法。

我已经确认这确实适用于 iOS 6。请务必注意 UINavigationController 子句。

【讨论】:

还针对 iOS 7.0 进行了验证。 愚蠢的问题 - 如果你的 UINavigationController 在 XCode 5 的 Storyboard 中,你该怎么做?我没有看到任何可以更改的代码,以使用此类的覆盖副本..? 在 iOS 8 中你可以使用resignFirstResponder,它会工作的。您不必乱用disablesAutomaticKeyboardDismissal 或类似的东西。【参考方案2】:

Now we can

- (BOOL)disablesAutomaticKeyboardDismissal 
    return NO;

【讨论】:

这似乎不再是 iOS 6 中的有效修复 - 其他人也看到了同样的情况? iOS 6.0.x 对我无效 担保...在 iOS 6 中无效 如果您在那里实现了该方法(显然您需要继承 UINavigationController),这曾经适用于在 navigationControllers 中呈现的 viewControllers。我不知道它是否仍然存在。 至少从 iOS 6 开始,除非您在 UINavigationController 的子类中覆盖它,否则它不会起作用。帮助了我!【参考方案3】:

更新这个答案不再准确。请参阅correct answer。

如果您的 UITextField 处于模式页面表单视图 (UIModalPresentationFormSheet) 中,则(目前)无法强制设备从苹果工程师那里关闭键盘 this devforums post。

【讨论】:

以上是关于关闭 IPAD 上的键盘的主要内容,如果未能解决你的问题,请参考以下文章

从 uitableviewcell 内的文本字段中关闭 iPad 上的键盘

为啥 iPad 不会在结束编辑时关闭选择器视图但 iPhone 会

关闭时,横向iPad上带有键盘的模态视图控制器会更改位置[重复]

键盘弹出时网页滚动[关闭]

在 iOS 8.3 for iPad 上关闭 UIAlertView 后键盘弹出

单击文档正文时隐藏 iPad 键盘