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

Objective c 更改UISplitViewController上详细信息窗格的视图,objective-c,ipad,ios,uisplitviewcontroller,Objective C,Ipad,Ios,Uisplitviewcontroller,我正在开发一个应用程序,尝试了解更多有关cocoa touch框架的信息,并开始使用UISplitViewController。据我目前所知,它有一个名为viewControllers的属性,它是一个包含应用程序主视图和详细视图控制器的数组 我试图在masterVC中设置一个文件夹导航系统,然后当选择一个特定文件时,它将在detailVC中打开。我已经让文件夹导航工作,可以在两个视图控制器之间传递文件的详细信息 我的问题是,有几种类型的文件需要不同的视图才能正确显示它们 例如,jpeg图像将具有

我正在开发一个应用程序,尝试了解更多有关cocoa touch框架的信息,并开始使用
UISplitViewController
。据我目前所知,它有一个名为
viewControllers
的属性,它是一个包含应用程序主视图和详细视图控制器的数组

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

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

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

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

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


谢谢

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

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


希望这有帮助

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

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


希望这有帮助

您应该交换不同的视图控制器。在Xcode 6中,您可以使用主控台上的“显示细节”序列指向包含不同细节视图的不同导航控制器


您应该换出不同的视图控制器。在Xcode 6中,您可以使用主控台上的“显示细节”序列指向包含不同细节视图的不同导航控制器


谢谢donkim,现在就更好地理解这样做背后的逻辑。回答得很好。谢谢donkim,现在你能更好地理解这样做背后的逻辑了。回答得很好。