如何在数字键盘类型中禁用或隐藏本地化?

时间:2017-04-19 10:51:44

标签: ios objective-c iphone uikeyboardtype

在我的iOS应用中,当用户点击UITextfield时,我需要自动将键盘视图更改为数字视图。我写下面的代码,它工作正常。

UITextField *txtfield  = [[UITextField alloc]initWithFrame:CGRectMake(0, 0, 100, 30)];
txtfield.keyboardType = UIKeyboardTypeNumberPad;

我的应用支持本地化。我在设备上添加了4个键盘,如英语,西班牙语,印地语,表情符号。我想在数字键盘类型中禁用或隐藏本地化。请参阅附图。我用红框突出显示。

enter image description here

任何人都知道如何做到这一点?

2 个答案:

答案 0 :(得分:9)

(适用于iOS 10或更高版本)

<强>夫特

仅针对Xcode 8.3 / Swift 3.1使用.asciiCapableNumberPad

txtField.keyboardType = .asciiCapableNumberPad

<强>目标C

txtField.keyboardType = UIKeyboardTypeASCIICapableNumberPad

答案 1 :(得分:3)

@Jack答案是正确的,但如果你需要支持iOS9及以下版本的iDevices,你需要像这样检查:

if (IS_OS_10_OR_LATER) {
  txtfield.keyboardType = UIKeyboardTypeASCIICapableNumberPad;
}
else {
  txtfield.keyboardType = UIKeyboardTypeNumberPad;
}

如果没有,用户将看到默认键盘类型,如果他们的iDevice仍在iOS9及以下版本。