iOS:通过splitViewController以模态方式呈现UIViewController(表单/页表)

Alt*_*cho 5 uiviewcontroller ipad uisplitviewcontroller ios

我有一个UISplitViewController(是rootViewController)和一个UIViewController,vc1.

我试图从MasterViewController部分向我的分割视图控制器上呈现vc1:

vc1.modalPresentationStyle = UIModalPresentationPageSheet;
[self presentViewController:vc1 animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

这引发了一个例外:

Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: 'Application tried to present modally an active 
controller <MasterViewController: 0x8c5dd30>.'
Run Code Online (Sandbox Code Playgroud)

......而且崩溃了.

试过这个:

[self.splitViewController presentViewController:vc1 animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

这引发了一个例外:

Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason:'Application tried to present modally an active 
controller <UISplitViewController:0x8c7e3a0>.'
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试使用界面构建器(segues),它可以工作.

如何以编程方式在分割视图控制器上以模态方式(作为页面表或表单)呈现视图控制器?

ale*_*ash 0

您可以告诉 DetailView 控制器显示它。我想是这样的。

DetailVC *detailVC = [self.splitViewController.viewControllers objectAtIndex:1];
[detailVC presentViewController:vc1 animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

我想问题是你的主人正在呈现一个详细视图,这就是为什么它不能呈现其他任何内容,所以你要求详细视图为你做这件事。