我可以在iPad上使用哪种UIKeyboardType

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

UITextField *textField = [[UITextField alloc] initWithFrame:frame]; textField.keyboardType = UIKeyboardTypeDecimalPad; 

根据文档这是一个有效的键盘types,但是当我编辑文本字段正常的ASCII键盘出现。 但是,当我将其更改为:

 textField.keyboardType = UIKeyboardTypePhonePad; 

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

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

谢谢!

这些是可以在两个iOS设备上使用的UIKeyboardTypes。 从文档 :

  • UIKeyboardTypeDefault

    • 使用当前input法的默认键盘。
    • 在iOS 2.0及更高版本中可用。
    • UITextInputTraits.h声明。
  • UIKeyboardTypeASCIICapable

    • 使用显示标准ASCII字符的键盘。
    • 在iOS 2.0及更高版本中可用。
    • UITextInputTraits.h声明。
  • UIKeyboardTypeNumbersAndPunctuation

    • 使用数字和标点键盘。
    • 在iOS 2.0及更高版本中可用。
    • UITextInputTraits.h声明。
  • UIKeyboardTypeURL

    • 使用针对URLinput进行优化的键盘。 这种types突出显示“。”,“/”和“.com”。
    • 在iOS 2.0及更高版本中可用。
    • UITextInputTraits.h声明。
  • UIKeyboardTypeNumberPad

    • 使用专为PINinputdevise的数字小键盘。 这种types突出显示数字0到9。 此键盘types不支持自动大写。
    • 在iOS 2.0及更高版本中可用。
    • UITextInputTraits.h声明。
  • UIKeyboardTypePhonePad

    • 使用专为input电话号码devise的键盘。 这种types的特点是数字0到9和“*”和“#”字符显着。 此键盘types不支持自动大写。
    • 在iOS 2.0及更高版本中可用。
    • UITextInputTraits.h声明。
  • UIKeyboardTypeNamePhonePad

    • 使用专为input个人姓名或电话号码而devise的键盘。 此键盘types不支持自动大写。
    • 在iOS 2.0及更高版本中可用。
    • UITextInputTraits.h声明。
  • UIKeyboardTypeEmailAddress

    • 使用为指定电子邮件地址而优化的键盘。 这种types突出显示“@”,“。”和空格字符。
    • 在iOS 2.0及更高版本中可用。
    • UITextInputTraits.h声明。
  • UIKeyboardTypeDecimalPad

    • 使用带有数字和小数点的键盘。
    • 在iOS 4.1及更高版本中可用。
    • UITextInputTraits.h声明。
  • UIKeyboardTypeTwitter

    • 使用针对Twitter文本input进行优化的键盘,可以轻松访问@和#字符。
    • 在iOS 5.0及更高版本中可用。
    • UITextInputTraits.h声明。
  • UIKeyboardTypeAlphabet

    • 已过时。
    • 改为使用UIKeyboardTypeASCIICapable。
    • 在iOS 2.0及更高版本中可用。
    • UITextInputTraits.h声明。

以下是不同types键盘的截图 。

收到警告后,我使用模拟器testing了iPad / iPhone可用的键盘types

“找不到键盘Wildcat-Landscape-QWERTY-Pad的键盘8;使用2592645918_Wildcat-Alphabetic-Keyboard_Capital-Letters”

UIKeyboardTypeDecimalPad的iPad上。 希望这对于在这里绊倒的下一个人是有用的。

iPad的:

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

所以,除了UIKeyboardTypeDecimalPad之外。 使用UIKeyboardTypeDecimalPad在iOS 5.1或6.1版本中UIKeyboardTypeDecimalPad让你感到手腕上的一击。

苹果手机:

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

即所有这些