在 iOS 中当设备语言为阿拉伯语时显示英文键盘和类型
show English keyboard and type when device language is Arabic in iOS
我正在做一个有两种语言的应用程序,
我正在做的是,
在第一页上,我有几个字段将接受用户的输入。
其中包含一个作为用户电子邮件 ID 的字段。
当我将设备语言更改为阿拉伯语时,我输入的所有文本字段值(如名字和姓氏等)都是阿拉伯语,
但是对于电子邮件 ID,我需要键盘并输入英文。
我尝试了很多相同的方法来更改此特定字段的键盘类型,但都失败了。
欢迎任何意见和指导。
提前致谢。
创建局部变量
BOOL isEmailField;
按以下方式实现电子邮件文本字段 "Editing did begin:" 和 "Editing did end:":
- (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];
}
希望这会奏效,请让我知道您的反馈。
我正在做一个有两种语言的应用程序, 我正在做的是, 在第一页上,我有几个字段将接受用户的输入。 其中包含一个作为用户电子邮件 ID 的字段。
当我将设备语言更改为阿拉伯语时,我输入的所有文本字段值(如名字和姓氏等)都是阿拉伯语, 但是对于电子邮件 ID,我需要键盘并输入英文。
我尝试了很多相同的方法来更改此特定字段的键盘类型,但都失败了。
欢迎任何意见和指导。 提前致谢。
创建局部变量
BOOL isEmailField;
按以下方式实现电子邮件文本字段 "Editing did begin:" 和 "Editing did end:":
- (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];
}
希望这会奏效,请让我知道您的反馈。