我有两个故事板,一个用于 LTR(从左到右的脚本,如英语、德语等),一个用于阿拉伯语 RTL(从右到左的脚本)。我想根据选择的用户语言在这两个故事板之间切换。目前我在 AppDelegate.m 文件中执行此代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSString *typeN = [[NSLocale preferredLanguages] objectAtIndex:0];
//NSBundle *myBundle= [[NSBundle alloc] init];
if([typeN compare:@"ar"] == NSOrderedSame){
UIStoryboard *us = [UIStoryboard storyboardWithName:@"RtlStoryboard" bundle: nil];
FirstViewController *myStoryBoardInitialViewController = [us instantiateInitialViewController];
myStoryBoardInitialViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
NSLog(@"arabic- RTL");
}
else {
UIStoryboard *ms = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
FirstViewController *myStoryBoardInitialViewControl = [ms instantiateInitialViewController];
myStoryBoardInitialViewControl.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
NSLog(@"english- ENG");
}
这是正确的做法吗,尽管对于阿拉伯语 [typeN compare:@"ar"] if block 正在执行但它仍在加载 LTR storyBoard。两个故事板的视图控制器也相同,因为代码逻辑相同,只是屏幕格式不同。请提供有关此问题的指示或详细信息。