1

ボタンをクリックしたときに、ViewController にサブビューとして UISplitViewController を追加しようとしています。正しく機能していません。

それは正しい方法ですか?

ありがとう

4

1 に答える 1

3

コメントディスカッションに基づいて回答...

ルート ビューを他のビュー コントローラーに設定し、それが完了したら、ルート ビューを分割ビュー コントローラーに設定できます。そうしないと、複数の 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];

于 2013-04-17T07:09:47.650 に答える