Xcode中的数字键盘

时间:2010-04-14 00:12:53

标签: iphone xcode keyboard textfield

有没有人知道如何在iphone中显示数字键盘而不是默认键盘?有没有办法只为数字过滤文本字段?我需要从代码而不是来自界面构建器

来做到这一点

由于

5 个答案:

答案 0 :(得分:29)

或者,在代码中设置textfield的keyboardType属性:

textField.keyboardType = UIKeyboardTypeNumberPad

可用选项包括:

  

UIKeyboardType要键入的键盘类型   显示给定的基于文本的视图。

     

typedef enum {
  UIKeyboardTypeDefault,
  UIKeyboardTypeASCIICapable,
  UIKeyboardTypeNumbersAndPunctuation,
  UIKeyboardTypeURL,
  UIKeyboardTypeNumberPad,
  UIKeyboardTypePhonePad,
  UIKeyboardTypeNamePhonePad,
  UIKeyboardTypeEmailAddress,
  UIKeyboardTypeAlphabet =   UIKeyboardTypeASCIICapable}   UIKeyboardType;

但请注意,NumberPad没有小数点可供输入。如果你需要,你将不得不使用别的东西。

答案 1 :(得分:9)

现在有一个包含小数的键盘,您可以使用以下代码。

textField.keyboardType = UIKeyboardTypeDecimalPad;

答案 2 :(得分:2)

在Interface Builder中或通过代码将输入字段的keyboardType属性设置为数字。

这样的事情应该有效:

textField.keyboardType = UIKeyboardTypeNumberPad;

对于所有可能的键盘类型,请参阅the Apple docs

答案 3 :(得分:1)

要添加Kristopher Johnson的答案,UITextField支持UITextInputTraits协议,该协议的UIKeyboardType @property名为keyboardType。您只需将其设置为您想要的任何内容(在您的情况下,UIKeyboardTypeNumberPad)。将其放在代码中的一个地方是视图控制器的viewDidLoad方法。

textField.keyboardType = UIKeyboardTypeNumberPad;

答案 4 :(得分:0)

适用于Swift2

keyboardType正在等待 UIKeyboardType

  

枚举UIKeyboardType:Int {
  案例默认
  案件ASCIICapable
  案例NumbersAndPunctuation
  案例URL
  案例号码盘
  案例PhonePad
  案例NamePhonePad
  案例EmailAddress
  案例DecimalPad
  案例Twitter   案例WebSearch
  static var Alphabet:UIKeyboardType {get}
  }

所以它应该是这样的:

textField.keyboardType = UIKeyboardType.NumbersAndPunctuation

Apple Documentation - UIKeyboardType