1

当我单击其中的按钮时,我试图将 UISplitViewController 作为子视图添加到我的 ViewController 中。它不能正常工作。

这是正确的做法吗?

谢谢

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 回答