请建议如何将所有的应用程序以编程方式向右转左。从iOS 9开始,苹果将希伯来/亚比克区域设置为从左到右(镜像)。
如果有任何改变的选择,请提出建议?
问候亚基尔。
发布于 2015-10-06 11:45:43
将界面语言更改为英语。目前,这是唯一的办法(除非苹果相信这是个坏主意)
编辑:如果您希望您的应用程序表现为“仅英语”-您可以强制在代码: in 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];
}
}发布于 2015-10-07 14:28:17
除了波阿兹的答案之外,把这段代码放在main.m文件中而不是didFinishLaunching方法中可能更好,也更安全。(没有足够的代表将此作为评论添加到原来的答案中)
还有..。您不需要获取语言数组/检查第一语言,只需将其设置为"en":
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSArray arrayWithObject:@"en"] forKey:@"AppleLanguages"];
[defaults synchronize];发布于 2016-11-02 03:34:24
if(OS_GREATER_THAN_OR_EQUALTO(@"9.0"))
{
if(RightToLeftLanguage)
{
[[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft];
}
else
{
[[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceLeftToRight];
}
}“[ setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft];”外观--此语句强制视图以从右到左的模式呈现,而不考虑应用程序或设备语言。确保在viewDidLoad中调用此语句。
https://stackoverflow.com/questions/32679194
复制相似问题