为什么使用不同的输入类型?
键盘输入的类型帮助我们从用户获取必需的输入。
它移除不需要的键,并包括所需的部分。用户可以通过使用 UITextField 的键盘属性设置输入的类型。
- 如:文本字段( textField)。 keyboardType = UIKeyboardTypeDefault
键盘输入类型
输入的类型 | 描述 |
---|---|
UIKeyboardTypeASCIICapable | 键盘包括所有标准的 ASCII 字符。 |
UIKeyboardTypeNumbersAndPunctuation | 键盘显示数字和标点。 |
UIKeyboardTypeURL | 键盘的 URL 项优化。 |
UIKeyboardTypeNumberPad | 键盘用于 PIN 输入和显示一个数字键盘。 |
UIKeyboardTypePhonePad | 键盘对输入电话号码进行了优化。 |
UIKeyboardTypeNamePhonePad | 键盘用于输入姓名或电话号码。 |
UIKeyboardTypeEmailAddress | 键盘对输入电子邮件地址的优化。 |
UIKeyboardTypeDecimalPad | 键盘用来输入十进制数字。 |
UIKeyboardTypeTwitter | 键盘对 twitter @ 和 # 符号进行了优化。 |
添加自定义方法 addTextFieldWithDifferentKeyboard
-(void) addTextFieldWithDifferentKeyboard{
UITextField *textField1= [[UITextField alloc]initWithFrame:
CGRectMake(20, 50, 280, 30)];
textField1.delegate = self;
textField1.borderStyle = UITextBorderStyleRoundedRect;
textField1.placeholder = @"Default Keyboard";
[self.view addSubview:textField1];
UITextField *textField2 = [[UITextField alloc]initWithFrame:
CGRectMake(20, 100, 280, 30)];
textField2.delegate = self;
textField2.borderStyle = UITextBorderStyleRoundedRect;
textField2.keyboardType = UIKeyboardTypeASCIICapable;
textField2.placeholder = @"ASCII keyboard";
[self.view addSubview:textField2];
UITextField *textField3 = [[UITextField alloc]initWithFrame:
CGRectMake(20, 150, 280, 30)];
textField3.delegate = self;
textField3.borderStyle = UITextBorderStyleRoundedRect;
textField3.keyboardType = UIKeyboardTypePhonePad;
textField3.placeholder = @"Phone pad keyboard";
[self.view addSubview:textField3];
UITextField *textField4 = [[UITextField alloc]initWithFrame:
CGRectMake(20, 200, 280, 30)];
textField4.delegate = self;
textField4.borderStyle = UITextBorderStyleRoundedRect;
textField4.keyboardType = UIKeyboardTypeDecimalPad;
textField4.placeholder = @"Decimal pad keyboard";
[self.view addSubview:textField4];
UITextField *textField5= [[UITextField alloc]initWithFrame:
CGRectMake(20, 250, 280, 30)];
textField5.delegate = self;
textField5.borderStyle = UITextBorderStyleRoundedRect;
textField5.keyboardType = UIKeyboardTypeEmailAddress;
textField5.placeholder = @"Email keyboard";
[self.view addSubview:textField5];
UITextField *textField6= [[UITextField alloc]initWithFrame:
CGRectMake(20, 300, 280, 30)];
textField6.delegate = self;
textField6.borderStyle = UITextBorderStyleRoundedRect;
textField6.keyboardType = UIKeyboardTypeURL;
textField6.placeholder = @"URL keyboard";
[self.view addSubview:textField6];
}
在 ViewController.m 中更新 viewDidLoad,如下所示
(void)viewDidLoad
{
[super viewDidLoad];
//The custom method to create textfield with different keyboard input
[self addTextFieldWithDifferentKeyboard];
//Do any additional setup after loading the view, typically from a nib
}
输出
现在当我们运行应用程序时我们就会得到下面的输出:

选择不同的文本区域我们将看到不同的键盘。