在 UISplitViewController 和 UIViewControllers 之间导航 [重复]
Posted
技术标签:
【中文标题】在 UISplitViewController 和 UIViewControllers 之间导航 [重复]【英文标题】:Navigate between UISplitViewController and UIViewControllers [duplicate] 【发布时间】:2014-08-08 06:43:28 【问题描述】:我有一个
UISplitViewController
,我已将其设置为rootViewController
在appDelegate
中。但在显示之前UISplitViewController
,有两个UIViewControllers
。当应用程序 开始,就会有UIViewController
一个接一个。然后从 第二个UIViewController
,它将导航到UISplitViewController
。 现在,显示UISplitViewController
从 UIViewControllers,但是当我想显示时出现问题UIViewController
来自UISplitViewController
。表示,无法导航 在UIViewControllers
和UISplitViewController
之间。我检查过 每个解决方案。我也尝试过presentViewController
,但它只是 失败的。请帮我。很高兴得到解决方案 从这里开始。
【问题讨论】:
【参考方案1】:检查此链接。根据您的问题,我之前也尝试过这样,之后我用谷歌搜索并得到了这个解决方案。
How to create a segue from UIViewController to a UISplitViewController
【讨论】:
感谢您的回复@user3698223。我已经尝试过这段代码。我正在添加UISplitViewController
,就像这样。但问题是我无法从UISplitViewController
弹回UIViewController
。正如您所说,您遇到了同样的问题,那么您是如何从UISplitViewController
跳到UIViewController
的?。【参考方案2】:
我遇到了同样的问题。我通过将整个项目放入 UISplitViewController
然后隐藏/取消隐藏 masterViewController
解决了这个问题。这是隐藏MasterViewController
的代码。首先使用UISplitViewController's
Delegate
方法
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
return YES;
然后在实现中声明这个BOOL masterIsHidden;
然后添加以下方法
-(void)hideMaster:(BOOL)hideState
masterIsHidden=hideState;
[self.splitViewController.view setNeedsLayout];
self.splitViewController.delegate = nil;
self.splitViewController.delegate = self;
[self.splitViewController willRotateToInterfaceOrientation:[UIApplication sharedApplication].statusBarOrientation duration:0];
并像这样在viewWillAppear
中调用上述方法
[self hideMaster:YES];
使用此方法,您可以在项目中的任何位置隐藏/取消隐藏masterViewController
。
【讨论】:
以上是关于在 UISplitViewController 和 UIViewControllers 之间导航 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 UISplitViewController 和其他视图控制器之间切换的最佳方式?
UISplitViewController 和单元格取消选择
故事板、UIViewController 和 UISplitViewController