ios - 在 iOS 中当设备语言为阿拉伯语时显示英文键盘和类型

标签 ios xcode keyboard

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

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

我尝试了很多相同的方法来更改此特定文件的键盘类型,但都失败了。

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

最佳答案

创建局部变量

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

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

关于ios - 在 iOS 中当设备语言为阿拉伯语时显示英文键盘和类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31239089/

相关文章:

Flutter - 如何在横向模式下打开全屏键盘

xcode - 如何将 xcode 项目转换为 cocoapod?

android - Soft KeyBoard 不会在 AlertDialog 的 EditText 中弹出

android - 使用单一代码库(包括应用程序服务器和 native 客户端库)的跨平台 HTML5 移动开发?

android - 在代号一中使用 .NET Web 服务

c - NSURLConnection 失败,错误代码为 -1001

objective-c - 为什么将 Objective-C header 或代码文件从一个文件夹拖到另一个文件夹会使其在 Xcode 4.6 中变成红色?

java - 更改Android自定义键盘的自定义键(标签)的字体

ios - 在 Swift 中使用字符串将类分配给变量

ios - 将 NSDate 转换为毫秒纪元时间