我正在做一个有两种语言的应用, 我在做的是, 在第一页上,我有几个字段将从用户获取输入。 其中包含一个用户的电子邮件ID。
当我将设备语言更改为阿拉伯语时,所有文本字段我输入的名称如姓名和姓氏等都是阿拉伯语, 但对于电子邮件ID,我需要键盘并输入英文。
为了改变这个特定领域的键盘类型,我尝试了很多但是失败了。
欢迎任何意见和指导。 提前谢谢。
答案 0 :(得分:4)
创建一个局部变量
BOOL isEmailField;
实施电子邮件文本字段“编辑确实开始:”和“编辑完成结束:”,如下所示:
- (IBAction)emailTextFieldBeginEdit:(id)sender {
isEmailField = YES;
}
- (IBAction)emailTextFieldEndEdit:(id)sender {
isEmailField = NO;
}
现在实现方法:
- (UITextInputMode *) textInputMode
像这样使用:
- (UITextInputMode *) textInputMode {
if(isEmailField) {
for (UITextInputMode *inputMode in [UITextInputMode activeInputModes]) {
if([inputMode.primaryLanguage isEqualToString:@"en-US"]) {
return inputMode;
}
}
}
return [super textInputMode];
}
希望这会有效,请告诉我你的意见。