【发布时间】:2016-11-13 02:12:29
【问题描述】:
在 iPad 上运行时,iOS 上的默认软件键盘有一个“dismiss”按钮来隐藏键盘。它位于右下角。
除了检查设备是否是 iPad 之外,有没有办法专门检测此配置...或此按钮是否存在?例如,对于没有此按钮的设备(iPhone/iPod Touch),也许我们希望在键盘之外添加一个按钮来执行此操作,但如果 iPad 上已经有一个按钮,我们不希望存在两个单独的按钮。
【问题讨论】:
在 iPad 上运行时,iOS 上的默认软件键盘有一个“dismiss”按钮来隐藏键盘。它位于右下角。
除了检查设备是否是 iPad 之外,有没有办法专门检测此配置...或此按钮是否存在?例如,对于没有此按钮的设备(iPhone/iPod Touch),也许我们希望在键盘之外添加一个按钮来执行此操作,但如果 iPad 上已经有一个按钮,我们不希望存在两个单独的按钮。
【问题讨论】:
我认为不存在专门询问键盘是否支持它的方法,但您可以做的是询问设备的成语:
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
}
【讨论】:
UIUserInterfaceIdiomPad的匹配。
你可以设置下面的东西
[textField resignFirstResponder];
或
[textField setReturnKeyType:UIReturnKeyDone];
和其他不同的类型
【讨论】: