Ios 向后滑动导航不适用于本地化应用程序
在我的应用程序中,我使用英语和阿拉伯语两种语言。当我将语言从一种更改为另一种时,“向后滑动”导航将与以前的语言一样工作 英语从左向右滑动,阿拉伯语从右向左滑动。但在我的例子中,英语从右到左,阿拉伯语从左到右。这是在更改语言后首次启动应用程序。下一次它的工作很好 更改语言后,用户需要重新启动应用程序。我使用下面的代码来设置语言 大体上Ios 向后滑动导航不适用于本地化应用程序,ios,localization,uinavigationcontroller,Ios,Localization,Uinavigationcontroller,在我的应用程序中,我使用英语和阿拉伯语两种语言。当我将语言从一种更改为另一种时,“向后滑动”导航将与以前的语言一样工作 英语从左向右滑动,阿拉伯语从右向左滑动。但在我的例子中,英语从右到左,阿拉伯语从左到右。这是在更改语言后首次启动应用程序。下一次它的工作很好 更改语言后,用户需要重新启动应用程序。我使用下面的代码来设置语言 大体上 if ([languageSelected isEqualToString:@"en_US"]) { NSArray* la
if ([languageSelected isEqualToString:@"en_US"]) {
NSArray* languages = [NSArray arrayWithObjects:@"en", nil];
[[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
[[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceLeftToRight];
} else if ([languageSelected isEqualToString:@"ar"]) {
NSArray* languages = [NSArray arrayWithObjects:@"ar", nil];
[[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
[[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft];
}
谁能给点建议吗?
提前谢谢 我找到了解决方案,我们需要在应用程序终止时设置语言,如下所示
- (void)applicationWillTerminate:(UIApplication *)application {
if ([languageSelected isEqualToString:@"en_US"]) {
LocalizationSetLanguage(@"en");
NSArray* languages = [NSArray arrayWithObjects:@"en", nil];
[[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
[[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceLeftToRight];
} else if ([languageSelected isEqualToString:@"ar"]) {
LocalizationSetLanguage(@"ar");
NSArray* languages = [NSArray arrayWithObjects:@"ar", nil];
[[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
[[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft];
}
}
希望有人能使用它。我认为这与将rootviewcontroller设置为navigationcontroller有关。请您简要解释一下好吗?我认为您的viewcontroller在启动时没有嵌入navigationcontroller,这就是为什么“向后滑动导航”对您不起作用的原因。如果没有嵌入,请按view控制器也不能正常工作吗?但是它工作得很好,实际上没有完整的代码,我面临着困难。但我可以肯定地告诉你上面提到的代码与导航无关。干得好。但是这个代码是如何控制导航的呢?我只是问…在我设置main中的语言之前。m对导航没有任何影响,可能需要一些时间。所以我在终止协议时就这么做了。