【问题标题】:Detect if iOS device's keyboard has the "keyboard hiding button", like on iPad?检测 iOS 设备的键盘是否有“键盘隐藏按钮”,就像在 iPad 上一样?
【发布时间】:2016-11-13 02:12:29
【问题描述】:

在 iPad 上运行时,iOS 上的默认软件键盘有一个“dismiss”按钮来隐藏键盘。它位于右下角。

除了检查设备是否是 iPad 之外,有没有办法专门检测此配置...或此按钮是否存在?例如,对于没有此按钮的设备(iPhone/iPod Touch),也许我们希望在键盘之外添加一个按钮来执行此操作,但如果 iPad 上已经有一个按钮,我们不希望存在两个单独的按钮。

【问题讨论】:

    标签: ios ipad keyboard


    【解决方案1】:

    我认为不存在专门询问键盘是否支持它的方法,但您可以做的是询问设备的成语:

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    
    }
    else {
    
    }
    

    或者,由于 6 和 6plus 也支持横向按钮,您可以在特定时刻询问设备的 UITraitCollection,如果是常规的,键盘上的关闭按钮将显示,但有点强假设。
    在展示键盘之前,请尝试检查水平特征。

    if view.traitCollection.horizontalSizeClass == .Regular {
            // has the dismiss button
        }
        else {
            // add an accessory input view
        }
    

    【讨论】:

    • 它在上面的问题中说“有没有办法专门检测这个配置......或者这个按钮存在...... 除了检查设备是否是iPad? "
    • @BenGuild 检查特征不是检查设备,除了我们正在努力提供帮助之外,投票不会
    • 您的源代码包括检查与UIUserInterfaceIdiomPad的匹配。
    • 是的,另一个是建议。由于您没有指定语言,因此我已使用 sn-p 和 SWIFT 更新了我的答案。
    • 是否可以去掉“键盘隐藏按钮”?
    【解决方案2】:

    你可以设置下面的东西

    [textField resignFirstResponder];  
    

    [textField setReturnKeyType:UIReturnKeyDone];  
    

    和其他不同的类型

    【讨论】:

    • 这不是被问到的。我在问是否有办法查看按钮是否存在,而不是是否已按下。
    猜你喜欢
    • 1970-01-01
    • 2011-07-30
    • 2012-04-19
    • 2015-02-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 2011-06-16
    相关资源
    最近更新 更多