我正在用一个按钮开发一个ViewController(登录应用程序),当我按下该按钮时,我想这样显示我的UISplitView:

- (IBAction)loadSplitViewController:(id)sender {

    [self showSplitViewController];
}

用于创建我的splitViewController的代码是:
-(void)showSplitViewController{

    UIStoryboard *mainStoryboard                    = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle: nil];

    LeftViewController      *leftViewController     = [mainStoryboard instantiateViewControllerWithIdentifier:@"LeftViewController"];
    RightViewController     *rightViewController    = [mainStoryboard instantiateViewControllerWithIdentifier:@"RightViewController"];

    UINavigationController  *leftNavController      = [[UINavigationController alloc] initWithRootViewController:leftViewController];
    UINavigationController  *rightNavController     = [[UINavigationController alloc] initWithRootViewController:rightViewController];

    UISplitViewController   *splitViewController    = [[UISplitViewController alloc] init];
    splitViewController.viewControllers             = [NSArray arrayWithObjects:leftNavController, rightNavController, nil];

    leftViewController.delegate     = rightViewController;
    splitViewController.delegate    = rightViewController;

    [self presentViewController:splitViewController animated:YES completion:^{}];
}

事情是...如果我用于显示我的splitViewController这行:
[self presentViewController:splitViewController animated:YES completion:^{}];

抛出一个错误

我也尝试过
[self.view addSubview:splitViewController.view];

但是这样我的splitViewController永远不会旋转,并且委托也无法正常工作...而且我不希望splitViewController成为viewController的子视图,我希望它看起来更像一个独立的modalView

我会感激的任何帮助

提前致谢

最佳答案

拆分视图控制器确实应该是窗口的根视图控制器(事实上,苹果公司表示必须这样做,尽管似乎有些例子中并非如此)。除了显示它,您还可以将窗口的根视图控制器切换为拆分视图控制器。

self.view.window.rootViewController = splitViewController;

关于ios - 在Objective-C中从UIViewController显示一个SplitViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18906738/

10-11 22:32
查看更多