我正在开发一个应用程序,尝试更多地了解可可触摸框架,并开始使用UISplitViewController
。根据我到目前为止所学到的,它有一个名为viewControllers
的属性,它是一个包含应用程序的主视图和详细视图控制器的数组。
我要设置的是masterVC
中的文件夹导航系统,然后当选择特定文件时,它会在detailVC
中打开。我有文件夹导航工作,可以传递两个视图控制器之间的文件的详细信息。
我的问题是,有几种类型的文件需要不同的视图才能正确显示它们。
例如,jpeg图像将具有图像查看器,而html文档将具有Web视图,而txt文档将需要文本编辑器视图。
更改详细信息窗格的视图控制器的最佳方法是什么?
我是否最好拥有一个View控制器并根据文件类型交换不同的视图?或者有没有办法完全删除viewcontroller并在其位置添加适当的一个?
由于
答案 0 :(得分:3)
我认为你应该使用多个视图控制器。在你提到的每个单独的视图控制器中都必须有很多逻辑,它们应该正确地包含在它自己的视图控制器中。
对于显示相应的视图控制器,您可以通过执行以下操作轻松地将view
UIViewController
UIViewController
添加到任何[self.view addSubview:myTextEditorVC.view]
视图中detailVC
。换句话说,您的UIViewController
可以处理以下逻辑:知道需要显示哪种类型的UIViewController
,将view
实例化,并在{detailVC
内显示view
1}} {{1}}。
希望这有帮助!
答案 1 :(得分:0)
您应该更换不同的视图控制器。在Xcode 6中,您可以使用主设备中的“显示详细信息”segue指向包含不同详细视图的其他导航控制器。