在UISplitViewController上更改详细信息窗格的视图

时间:2011-01-15 20:08:54

标签: objective-c ipad ios uisplitviewcontroller

我正在开发一个应用程序,尝试更多地了解可可触摸框架,并开始使用UISplitViewController。根据我到目前为止所学到的,它有一个名为viewControllers的属性,它是一个包含应用程序的主视图和详细视图控制器的数组。

我要设置的是masterVC中的文件夹导航系统,然后当选择特定文件时,它会在detailVC中打开。我有文件夹导航工作,可以传递两个视图控制器之间的文件的详细信息。

我的问题是,有几种类型的文件需要不同的视图才能正确显示它们。

例如,jpeg图像将具有图像查看器,而html文档将具有Web视图,而txt文档将需要文本编辑器视图。

更改详细信息窗格的视图控制器的最佳方法是什么?

我是否最好拥有一个View控制器并根据文件类型交换不同的视图?或者有没有办法完全删除viewcontroller并在其位置添加适当的一个?

由于

2 个答案:

答案 0 :(得分:3)

我认为你应该使用多个视图控制器。在你提到的每个单独的视图控制器中都必须有很多逻辑,它们应该正确地包含在它自己的视图控制器中。

对于显示相应的视图控制器,您可以通过执行以下操作轻松地将view UIViewController UIViewController添加到任何[self.view addSubview:myTextEditorVC.view]视图中detailVC。换句话说,您的UIViewController可以处理以下逻辑:知道需要显示哪种类型的UIViewController,将view实例化,并在{detailVC内显示view 1}} {{1}}。

希望这有帮助!

答案 1 :(得分:0)

您应该更换不同的视图控制器。在Xcode 6中,您可以使用主设备中的“显示详细信息”segue指向包含不同详细视图的其他导航控制器。

Here's an quick example.