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 をまだロードしています。また、ビュー コントローラーは両方のストーリーボードで同じです。これは、コード ロジックが同じであり、画面の書式設定が異なるだけであるためです。ポインタを提供するか、この問題について詳しく教えてください。