2

我有两个故事板,一个用于 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。两个故事板的视图控制器也相同,因为代码逻辑相同,只是屏幕格式不同。请提供有关此问题的指示或详细信息。

4

0 回答 0