2015-09-20 3 views
1

Просьба советовать, как изменить все приложение программно справа налево. от яблока iOS 9 набор иврит/область арбики как слева направо (зеркальное отображение).IOS-9 отключить право налево на иврите/arbic

Прошу совета, если есть возможность изменить это?

С уважением, Якир.

ответ

2

Измените язык интерфейса на английский. В настоящее время это единственный способ (если яблоко не убедятся, что это плохая идея)

Edit: Если вы хотите, чтобы ваше приложение вести себя «только английский» - вы можете заставить локаль в коде: В 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]; 
     } 
} 
+0

Есть ли способ сделать это в коде? –

+0

Я думаю, что только сейчас я понял, что вы сомневаетесь, отредактировал ответ – Boaz

1

в дополнение к ответу Вооза - может быть, лучше и безопаснее поместить этот код в файле main.m, а не в методе didFinishLaunching. (не хватает представителя, чтобы добавить это в качестве комментария к исходному ответу)

И ... Вам не нужно получать массив языков/проверять первый язык, вы можете просто установить его чтобы быть "ен":

NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:[NSArray arrayWithObject:@"en"] forKey:@"AppleLanguages"]; 
[defaults synchronize]; 
0
if(OS_GREATER_THAN_OR_EQUALTO(@"9.0")) 
{ 
    if(RightToLeftLanguage) 
    { 
     [[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft]; 
    } 
    else 
    { 
     [[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceLeftToRight]; 
    } 
} 

"[[UIView, внешний вид] setSemanticContentAttribute: UISemanticContentAttributeForceRightToLeft];" это утверждение обеспечивает отображение представления, которое будет отображаться в режиме справа налево, без учета вашего приложения или языка устройства. Убедитесь, что вызываемый оператор указан в представленииDidLoad.

Смежные вопросы