iOS:在 splitViewController 上以模态形式(表单/页面表)呈现 UIViewController

5

我有一个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)尝试,它可以正常工作。

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


vc1是否在UINavigationController中? - Maximilian Liesegang
@cortez 不,它是分开的。 - Alterecho
1个回答

0

你可以告诉DetailView控制器来显示它。我想应该是这样的。

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

我想问题在于您的主视图正在呈现详细视图,因此它无法呈现其他内容,所以您要求详细视图为您执行此操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接