8

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

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

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

textField.keyboardType = UIKeyboardTypePhonePad;

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

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

4

2 回答 2

11

这些是可以在两个 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

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

于 2012-07-25T17:38:06.587 回答
6

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

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

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

平板电脑:

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

所以,除了UIKeyboardTypeDecimalPad. 在 iOS 5.1 或 6.1 中,使用UIKeyboardTypeDecimalPad只会给你一记耳光。

苹果手机:

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

即所有人

于 2013-07-17T12:06:25.680 回答