IOS-9在希伯来语/ arbic

时间:2015-09-20 12:04:33

标签: ios objective-c ios9

请建议如何以编程方式从右到左更改所有应用。 来自iOS 9 apple将希伯来/ arbic区域设置为从左到右(镜像)。

如果有任何更改选项,请提供建议吗?

关心亚基尔。

3 个答案:

答案 0 :(得分:2)

将界面语言更改为英语。目前这是唯一的方法(除非苹果会相信这是一个坏主意)

修改: 如果您希望您的应用程序表现为“仅英语” - 您可以在代码中强制使用区域设置: 在AppDelegate添加到didFinishLaunchingWithOptions

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
        NSArray *languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
        if (![[languages firstObject] isEqualToString:@"en"]) {
            [[NSUserDefaults standardUserDefaults] setObject:@[@"en"] forKey:@"AppleLanguages"];
            [[NSUserDefaults standardUserDefaults] synchronize];
        }
}

答案 1 :(得分:1)

除了Boaz的答案之外 - 将此代码放在 main.m 文件而不是didFinishLaunching方法中可能更好更安全。 (没有足够的Rep。将其添加为原始答案的评论)

而且......您不需要获取语言数组/检查第一语言,您只需将其设置为“en”:

NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSArray arrayWithObject:@"en"] forKey:@"AppleLanguages"];
[defaults synchronize];

答案 2 :(得分:0)

if(OS_GREATER_THAN_OR_EQUALTO(@"9.0"))
{
    if(RightToLeftLanguage)
    {
        [[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft];
    }
    else
    {
        [[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceLeftToRight];
    }
}

" [[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft];"此语句强制视图以从右到左的模式呈现,而不考虑您的应用程序或设备语言。 确保在viewDidLoad中调用此语句。