有没有办法设计具有以下结构的应用程序。我已经尝试过这么多教程,但没有一个能做我想做的事。我想知道是不是因为它无法完成。
我想要一个SplitViewController,Masterview有一个Tableview,里面有多个项目。每个项目都会推送到一个新的Masterview表,该表包含可以随后选择的项目。
如果在第一个子菜单中选择了一个项目,它将打开DetailViewController1并显示相关信息。
如果在单独的子菜单项中选择了一个项目,它将打开DetailViewController2并显示信息。
我查看过Apple的MultipleDetailView Controller教程,但它仅适用于单级MasterViewController表。我可以在MasterDetailController中放置一个navigationcontroller,然后仍然可以推送到新的detailviewcontrollers吗?
在AppDelegate中,您选择了子视图,那么您将如何根据选择更改子视图?
我也试过使用故事板并使用“替换”样式的segue获得了部分解决方案。我发现我可以有一个基于导航的MasterViewController,它推送到新的detailviewControllers,但我无法让popovercontroller正常工作。我无法显示工具栏并给我按钮以重新显示MasterViewController。
希望很清楚。感谢
答案 0 :(得分:0)
以下适用于我在iOS 6上使用Master Detail模板和故事板。我正在使用Xcode 4.6.2
修改MasterViewController的代码以消除您不需要的东西,然后创建它的子类,例如。 SubviewMasterViewController或您选择的任何名称。
将tableview控制器拖到故事板上,并使用segue将其连接到当前的Master视图控制器(tableview到tableview,而不是从cell到tableview)。将其单元格的标识符更改为与“属性”检查器中的“主视图”控制器的单元格不同的名称。
为segue指定一个唯一的名称,例如。 showSublevel。
指定连接到主视图控制器的tableview控制器,以使用您在Attributes Inspector中创建的子类。
返回MasterViewController.m文件。在
在SubMasterViewController.m文件中,更改
的实现还要将该行的UITableViewCell *单元格的名称更改为UITableViewCell * cellular之类的其他名称,否则Xcode会使其符合标准。
对于添加到主视图控制器的每个tableview控制器,重复步骤2-7。确保为每个tableview控制器的单元标识符使用唯一的名称。