有没有人知道如何在iphone中显示数字键盘而不是默认键盘?有没有办法只为数字过滤文本字段?我需要从代码而不是来自界面构建器
来做到这一点由于
答案 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