在iOS中设备语言为阿拉伯语时显示英文键盘并输入

Sag*_*gar 3 keyboard xcode ios

我正在做一个具有两种语言的应用程序,我正在做的是,在第一页上,我有几个字段将接受用户的输入。其中包含一个作为用户的电子邮件ID归档的文件。

当我将设备语言更改为阿拉伯语时,我键入的所有文本字段的值(例如名字和姓氏等)都是阿拉伯语,但是对于电子邮件ID,我需要键盘并以英语键入。

我做了很多相同的尝试来更改此特定字段的键盘类型,但是失败了。

欢迎任何意见和指导。提前致谢。

rej*_*sss 5

创建一个局部变量

BOOL isEmailField;
Run Code Online (Sandbox Code Playgroud)

实施电子邮件文本字段“编辑已开始:”和“编辑已结束:”,方法如下:

- (IBAction)emailTextFieldBeginEdit:(id)sender {

    isEmailField = YES;
}

- (IBAction)emailTextFieldEndEdit:(id)sender {
    isEmailField = NO;
}
Run Code Online (Sandbox Code Playgroud)

现在实现方法:

 - (UITextInputMode *) textInputMode
Run Code Online (Sandbox Code Playgroud)

像这样使用:

- (UITextInputMode *) textInputMode {

    if(isEmailField) {
        for (UITextInputMode *inputMode in [UITextInputMode activeInputModes]) {

            if([inputMode.primaryLanguage isEqualToString:@"en-US"]) {
                return inputMode;
            }
        }
    }
    return [super textInputMode];
}
Run Code Online (Sandbox Code Playgroud)

希望这能奏效,请告诉我您的反馈意见。