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

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

谢谢,

【问题讨论】:

    标签: ipad uikeyboard


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 2011-09-19
      • 2012-08-17
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多