UIKeyboardTypeNamePhonePad – 显示选项
我需要使用名称电话键盘types(UIKeyboardTypeNamePhonePad),但是在select文本字段时,首先显示数字键盘。
我需要input数据如
123 – 657 – 450b – 123a
我总是需要先input一个数字,但偶尔也要inputA / B。
您可以尝试更改string大小的函数的键盘types:
- 实现委托UITextFieldDelegate
然后设置默认的文本框键盘;
[textField setKeyboardType:UIKeyboardTypeNumberPad]; [textField setDelegate:self];
然后在下面的方法中,当文本大小等于3时更改键盘:
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if([[textField text] length] > 3) { [textField setKeyboardType:UIKeyboardTypeDefault]; [textField reloadInputViews]; } return YES; }
另一个解决scheme是添加一个配件视图button(您可以手动更改键盘):
- (void)viewDidLoad { [super viewDidLoad]; textField.keyboardType = UIKeyboardTypeNumberPad; UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [button setFrame:CGRectMake(0, 0, 50, 50)]; [button addTarget:self action:@selector(changeKeyboard) forControlEvents:UIControlEventTouchDown]; textField.inputAccessoryView = button; } -(void)changeKeyboard { if([textField keyboardType] == UIKeyboardTypeNumberPad) { textField.keyboardType = UIKeyboardAppearanceDefault; } else { textField.keyboardType = UIKeyboardTypeNumberPad; } [textField reloadInputViews]; }
点击文本框,然后转到隐藏或显示实用程序,即查看(你会发现它在右侧旁边的编辑器。你select第三个视图,即最正确的一个)。 然后你点击属性检查器。在那里你会发现一个名为“键盘”的菜单被设置为默认,但是你可以select你想要的任何一个键盘。 希望对你有效。