请建议如何以编程方式从右到左更改所有应用。 来自iOS 9 apple将希伯来/ arbic区域设置为从左到右(镜像)。
如果有任何更改选项,请提供建议吗?
关心亚基尔。
答案 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中调用此语句。