我有两个模板视图(一个是单个视图,另一个是拆分视图控制器)每个单独工作正常.所以我在单视图上放了一个按钮,然后在按钮上输入Push Segue,转到Split View Controller.当我按下按钮时,我发现一个崩溃,说不能从外部UI导航控制器使用Push.
好的,我将单个视图模板放入UI导航控制器,它现在说:拆分视图控制器无法推送到导航控制器.
那么......我该怎么做?
谢谢 !
而不是呈现splitviewcontroller尝试设置为rootviewcontroller.
self.view.window.rootViewController = splitViewController;
Run Code Online (Sandbox Code Playgroud)
在普通View Controller中使用容器视图,覆盖整个查看区域,并且该容器视图具有嵌入视图控制器的嵌入segue
如果需要在它们之间进行通信,请覆盖UISplitViewController并将其放在viewDidLoad中:
YourLeftVC *masterViewController = (YourLeftVC *) [[self.viewControllers objectAtIndex:0] topViewController];
YourRightVC *detailViewController = [self.viewControllers objectAtIndex:1];
masterViewController.delegate = detailViewController;
Run Code Online (Sandbox Code Playgroud)
shi*_*yuX -2
将你的 segue 设置为模态而不是推送,应该可以。
编辑
其实那是行不通的。您可以尝试将 splitView 放在另一个故事板中,并在您的 buttonClicked: 方法中以代码形式呈现它:
在 SigleView.m 中:
- (IBAction)buttonClicked:
{
SplitViewController *splitVC = [[UIStoryboard storyboardWithName:@"SplitStoryBoard" bundle:nil] instantiateViewController];
[self presentViewController:splitVC animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
编辑2
之前写的也行不通。我真的想知道你是否可以提供一个 splitViewController (即不将其设为你的 rootViewController )。
但你可以做一些事情:
将您的 splitView 设置为应用程序的 rootView,在启动时以模态方式呈现您的 singleView,并且每当您想要时只需将其关闭即可让 splitView 进行控制。与使用 singleView 呈现 splitView 具有相同的效果。
| 归档时间: |
|
| 查看次数: |
10169 次 |
| 最近记录: |