iPhone5、iPhone4 (およびそれ以前)、および iPad の画面をサポートする複数のストーリーボードを含むアプリを作成したいと考えています。
私は次のことをしました:
- 各設定に 1 つずつ、合計 3 つのストーリーボードを作成しました。
- プロジェクト インターフェイスの「メイン ストーリーボード」フィールドをクリアしました。
- アプリの info.plist ファイルの「メイン ストーリーボード ファイルのベース名」フィールドをクリアしました。
AppDelegate の "didFinishLaunchingWithOptions" メソッドに次のコードを入力しました。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UIStoryboard* appStoryboard = nil; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { if (IS_IPHONE_5) //a macro capturing the screen size { appStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone5" bundle:nil]; } else { appStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone4" bundle:nil]; } } else if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { appStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil]; } UIViewController* viewController = [appStoryboard instantiateInitialViewController]; [self.window setRootViewController:viewController]; [self.window makeKeyAndVisible]; return YES; }
アプリケーションは実行されていてクラッシュしていませんが、黒い画面が表示されます。
私は何が欠けていますか/間違っていますか?