我仍在尝试找到理论上非常简单的任务的解决方案,从UIViewController到Split View Controller . (为什么苹果这么难吃) .
我现在处于一个阶段,我现在将SplitViewController放入自己的故事板中 . 当用户选择单个UIView控制器上的按钮时,我调用以下代码:
UISplitViewController *splitVC = [[UIStoryboard storyboardWithName:@"SplitStoryBoard" bundle:nil] instantiateViewController];
[self presentViewController:splitVC animated:YES completion:nil];
所以我想用splitview控制器加载故事板 . 但这也与“应用程序试图以模态方式呈现拆分视图控制器”崩溃
我没有在代码中指定任何“模态”操作 .
有没有解决方法怎么做?
5 回答
如果您在故事板中创建了
UISplitViewController
,并且在拆分视图之前添加了主视图,则可以使用performSegueWithIdentifier
在主视图和拆分视图之间触发seque . 要修复 Headers 中的错误,您需要覆盖UISplitViewController
中的一个方法是的,可以从UIView传递到UISplitView . 你必须使用自定义segue .
阅读此链接(从日语翻译)
UIViewController to UISplitViewController
UISplitViewController
必须始终是根视图控制器,并且不能以模态方式呈现 . 见Apple docs,说:您可以使用splitViewController作为TabViewController的视图,但是splitViewController不能是传统意义上的模态控制器 . 要从UIViewController转换到SplitViewController,请使用如下代码:
这将在控制器之间转换 . 您可以更改动画类型以适合您的目的 . 这是使用options参数设置的;目前显示UIViewAnimationOptionTransitionFlipFromRight .
这是一个很老的问题 . 但是我在我的应用程序中使用下面的代码工作,我认为这是更好的解决方案 .
我们的想法是采用视图控制器(Parent)并将拆分视图控制器添加为其子视图 . 像对待任何其他控制器一样,将模型segue执行到父级 .
嗯,我不确定,但从iOS8 SplitViewController得到了很多,它应该可以在除了root视图控制器以外的地方使用它 .
干杯!