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

时间:2014-08-01 07:22:34

标签: ios ipad uiviewcontroller uisplitviewcontroller

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

我正在尝试通过MasterViewController部分在我的拆分视图控制器上显示vc1:

vc1.modalPresentationStyle = UIModalPresentationPageSheet;
[self presentViewController:vc1 animated:YES completion:nil];

这引发了一个例外:

Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: 'Application tried to present modally an active 
controller <MasterViewController: 0x8c5dd30>.'

......然后崩溃。

试过这个:

[self.splitViewController presentViewController:vc1 animated:YES completion:nil];

这引发了一个例外:

Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason:'Application tried to present modally an active 
controller <UISplitViewController:0x8c7e3a0>.'

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

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

1 个答案:

答案 0 :(得分:0)

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

DetailVC *detailVC = [self.splitViewController.viewControllers objectAtIndex:1];
[detailVC presentViewController:vc1 animated:YES completion:nil];

我认为问题在于您的主人正在展示一个详细视图,以及它为什么无法呈现其他内容,因此您要求详细视图为您执行此操作。