2

LTR(英語、ドイツ語などの左から右へのスクリプト)用とアラビア語RTL(右から左へのスクリプト)用の2つのストーリーボードがあります。選択したユーザー言語に基づいて、これら 2 つのストーリーボードを切り替えたいと考えています。現在、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"] の場合でも、これは正しい方法ですか?しかし、LTR storyBoard をまだロードしています。また、ビュー コントローラーは両方のストーリーボードで同じです。これは、コード ロジックが同じであり、画面の書式設定が異なるだけであるためです。ポインタを提供するか、この問題について詳しく教えてください。

4

0 に答える 0