在 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];
}

希望这会奏效,请让我知道您的反馈。