SwiftUI:如何为iPad设置与iOS decimalPad等效的小型键盘
iOS/iPadOS 小数键盘调用与iPad紧凑键盘适配说明
如何调用和系统一致的.decimalPad样式键盘
系统已经提供了公开API可直接调用完全一致的.decimalPad样式键盘,无需自定义实现:
给需要触发输入的UITextField或UITextView设置keyboardType属性即可,示例代码:
// Swift 写法 yourTextField.keyboardType = .decimalPad
// Objective-C 写法 yourTextField.keyboardType = UIKeyboardTypeDecimalPad;
该属性兼容所有主流iOS、iPadOS版本,调用后即可弹出和系统原生完全一致的小数键盘。
iPad设置页小型数字键盘的适配逻辑
你在iPad「设置」-「面容ID与密码」页面看到的小型数字键盘,并非系统根据弹出视图尺寸自动适配的通用逻辑:
该样式是系统密码验证场景下的专属紧凑键盘变体,属于系统级特殊设计,默认不会在普通App的通用输入场景下自动触发。
如果需要在自己的App中实现类似的紧凑尺寸.decimalPad/数字键盘,可通过以下两种方案实现:
- 将输入控件置于样式为
.alert的UIAlertController中,iPadOS会自动为数字/小数类型的键盘启用紧凑布局 - iPadOS 15及以上版本,可通过自定义输入视图约束、调整
UITextInputTraits相关参数来指定键盘显示尺寸,需自行处理不同设备、横竖屏的适配逻辑,不建议依赖未公开的系统自动适配规则。
内容的提问来源于stack exchange,提问作者DanielD
相关产品推荐
相关产品推荐

