我希望使用拆分视图控制器使我的应用程序适应iPhone 6+。 目前,我的应用程序是一个简单的表视图,列出了我的文章和详细信息视图。
我想让我的应用在iPhone 6 Plus上以横向模式切换到拆分视图,但我不知道如何正确地做到这一点。
我创建了一个新的故事板并集成了一个拆分视图控制器,之后,我被卡住了。当我点击主视图上的一个单元格(这是一个表格视图)时,我不知道如何将我的新闻推送到详细视图控制器。我试着在didSelectRowAtIndexPath方法中添加它:
[self.navigationController pushViewController:viewController animated:YES];
但是当我这样做时,细节视图被推到拆分视图的左侧部分(主视图)。
我还尝试添加"显示详细信息"在Table View Controller单元格和Detail View Controller之间进行segue,并添加didSelectRowAtIndexPath方法:
[self performSegueWithIdentifier:@"showDetails" sender:self];
但同样的问题,视图被推入主视图。
其他问题,在纵向模式下,默认视图是详细视图。我如何展示主视图?
提前感谢您的帮助!
答案 0 :(得分:0)
在Master视图控制器中,您应该能够使用self.splitViewController
访问SplitViewController本身。 SplitViewController有一个属性viewControlers,它是一个包含两个元素的数组:第一个是master的视图控制器,第二个是detail端的视图控制器。在每种情况下,层次结构中的顶层控制器通常是导航控制器。因此,从主控制器(tableView)代码中,您可以使用类似以下内容访问detailController:
UINavigationController *detailNav = self.splitViewController.viewController[1];
[detailNav pushViewController:viewController animated:YES];
在实践中,您可能应该使用比推送更复杂的东西,以避免在主视图中单击不同单元格时堆栈非常庞大。但这应该让你去。此外,使用Apple的模板创建测试主/详细应用程序并分析它们的工作方式。这有一些代码用于在弹出控制器中显示主视图控制器,这是在纵向模式下显示的方式。
答案 1 :(得分:0)