ボタンをクリックしたときに、ViewController にサブビューとして UISplitViewController を追加しようとしています。正しく機能していません。
それは正しい方法ですか?
ありがとう
コメントディスカッションに基づいて回答...
ルート ビューを他のビュー コントローラーに設定し、それが完了したら、ルート ビューを分割ビュー コントローラーに設定できます。そうしないと、複数の UIWindows で遊ぶことができます。どちらも毛むくじゃらかもしれませんが、これが私が見つけた最良のアプローチです。
いくつかの疑似コード。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewController = [[CWDLoginViewController alloc] initWithNibName:@"CWDLoginViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
ここで、おそらくログイン ビュー コントローラーのデリゲートを作成するか、通知を使用して、アプリのデリゲートに変更self.window.rootViewController
する必要があることを伝えます。UISplitViewController
- (void)loginDidFinish {
CWDSplitViewController *splitViewController = [[CWDSplitViewController alloc] initWithNibName:@"CWDSplitViewController" bundle:nil];
self.window.rootViewController = splitViewController;
}
ストーリーボードを使用している場合は、使用できます
[[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"MyIdentifier"];
代わりに
[[CWDLoginViewController alloc] initWithNibName:@"CWDLoginViewController" bundle:nil];