我可以在iPad上使用哪种UIKeyboardType

Sam*_*ohn 7 objective-c ipad ios uikeyboardtype

我的iPad应用程序中有一个textField对象.我想给用户一个方便的键盘来输入数字.在我的代码中我添加了:

UITextField *textField = [[UITextField alloc] initWithFrame:frame];
textField.keyboardType = UIKeyboardTypeDecimalPad;
Run Code Online (Sandbox Code Playgroud)

根据文档,这是一种有效的键盘类型,但是当我编辑文本字段时,会出现正常的ASCII键盘.但是,当我将其更改为:

textField.keyboardType = UIKeyboardTypePhonePad;
Run Code Online (Sandbox Code Playgroud)

键盘看起来像这样: 手机键盘

理想情况下,我想要一个只有数字和小数点的键盘,但这在iPad上是不可能的?有没有人有一个明确的列表,其中哪些键盘适用于iPhone和iPad?苹果目前还不清楚这一点.我也看到了这个类似的问题,但没有一个答案能真正解决我的观点.

Mid*_* MP 10

这些是可以在两个iOS设备上使用的UIKeyboardTypes.来自文档:

  • UIKeyboardTypeDefault

    • 使用默认键盘作为当前输入法.
    • 适用于iOS 2.0及更高版本.
    • 宣布于UITextInputTraits.h.

  • UIKeyboardTypeASCIICapable

    • 使用显示标准ASCII字符的键盘.
    • 适用于iOS 2.0及更高版本.
    • 宣布于UITextInputTraits.h.

  • UIKeyboardTypeNumbersAndPunctuation

    • 使用数字和标点符号键盘.
    • 适用于iOS 2.0及更高版本.
    • 宣布于UITextInputTraits.h.

  • UIKeyboardTypeURL

    • 使用针对URL输入优化的键盘.此类型突出显示".","/"和".com".
    • 适用于iOS 2.0及更高版本.
    • 宣布于UITextInputTraits.h.

  • UIKeyboardTypeNumberPad

    • 使用专为PIN输入设计的数字小键盘.此类型突出显示数字0到9.此键盘类型不支持自动大写.
    • 适用于iOS 2.0及更高版本.
    • 宣布于UITextInputTraits.h.

  • UIKeyboardTypePhonePad

    • 使用专为输入电话号码而设计的键盘.此类型的特征是数字0到9以及突出显示的"*"和"#"字符.此键盘类型不支持自动大写.
    • 适用于iOS 2.0及更高版本.
    • 宣布于UITextInputTraits.h.

  • UIKeyboardTypeNamePhonePad

    • 使用专为输入人名或电话号码而设计的键盘.此键盘类型不支持自动大写.
    • 适用于iOS 2.0及更高版本.
    • 宣布于UITextInputTraits.h.

  • UIKeyboardTypeEmailAddress

    • 使用优化的键盘指定电子邮件地址.此类型突出显示"@","."和空格字符.
    • 适用于iOS 2.0及更高版本.
    • 宣布于UITextInputTraits.h.

  • UIKeyboardTypeDecimalPad

    • 使用带数字和小数点的键盘.
    • 适用于iOS 4.1及更高版本.
    • 宣布于UITextInputTraits.h.

  • UIKeyboardTypeTwitter

    • 使用针对Twitter文本输入优化的键盘,轻松访问@和#字符.
    • 适用于iOS 5.0及更高版本.
    • 宣布于UITextInputTraits.h.

  • UIKeyboardTypeAlphabet

    • 已过时.
    • 请改用UIKeyboardTypeASCIICapable.
    • 适用于iOS 2.0及更高版本.
    • 宣布于UITextInputTraits.h.

以下是不同类型键盘的一些屏幕截图.

  • 嗯,**UIKeyboardTypeDecimalPad**绝对不适用于iPad,而其他一些产生相同的键盘.即**UIKeyboardTypePhonePad**和**UIKeyboardTypeNumberPad**就我所知.我有兴趣看到iPad上实际可用的键盘的完整列表. (10认同)
  • 奇怪,**UIKeyboardTypeDecimalPad**不适用于我试过的任何设备/模拟器.Xcode非常友好地说:_无法找到支持键盘Wildcat-Landscape-QWERTY-Pad的8型键盘; 使用2592645918_Wildcat-Alphabetic-Keyboard_Capital-Letters_ (4认同)

Mat*_*sen 6

我在收到警告后使用模拟器测试了哪些键盘类型适用于iPad/iPhone

"无法找到支持键盘Wildcat-Landscape-QWERTY-Pad的8型键盘;使用2592645918_Wildcat-Alphabetic-Keyboard_Capital-Letters"

在iPad上UIKeyboardTypeDecimalPad.希望这对下一个偶然发现的人有用.

iPad的:

  • UIKeyboardTypeASCIICapable
  • UIKeyboardTypeNumbersAndPunctuation
  • UIKeyboardTypeURL
  • UIKeyboardTypeNumberPad
  • UIKeyboardTypeNamePhonePad
  • UIKeyboardTypeEmailAddress
  • UIKeyboardTypeTwitter

所以,所有这些除外UIKeyboardTypeDecimalPad.UIKeyboardTypeDecimalPad在iOS 5.1或6.1中,使用它只会让手腕上的一记耳光.

苹果手机:

  • UIKeyboardTypeASCIICapable
  • UIKeyboardTypeNumbersAndPunctuation
  • UIKeyboardTypeURL
  • UIKeyboardTypeNumberPad
  • UIKeyboardTypeNamePhonePad
  • UIKeyboardTypeEmailAddress
  • UIKeyboardTypeDecimalPad
  • UIKeyboardTypeTwitter

即所有这些