Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在同一屏幕上处理多个视图控制器的正确方法是什么?_Ios_Objective C_Ios5 - Fatal编程技术网

Ios 在同一屏幕上处理多个视图控制器的正确方法是什么?

Ios 在同一屏幕上处理多个视图控制器的正确方法是什么?,ios,objective-c,ios5,Ios,Objective C,Ios5,我有一个视图控制器,它几乎没有控件和图像,位于屏幕顶部。我将在它下面有一个空间来放置子视图控制器及其视图 我将一次显示一个子视图控制器,这样做的好方法是什么? 子视图控制器的总数大约为6个,它们的差别很大,所以重用一些容器视图控制器不会真正起作用 当按下这些控制器上的一些按钮时,我将移动到下一个。 我是否应该创建一些属性,比如contentView,它将保存当前屏幕上控制器的视图? 如果不使用自动布局,如何处理旋转 编辑:这更像是一个理论问题,我知道addChildViewController方

我有一个视图控制器,它几乎没有控件和图像,位于屏幕顶部。我将在它下面有一个空间来放置子视图控制器及其视图

我将一次显示一个子视图控制器,这样做的好方法是什么? 子视图控制器的总数大约为6个,它们的差别很大,所以重用一些容器视图控制器不会真正起作用

当按下这些控制器上的一些按钮时,我将移动到下一个。 我是否应该创建一些属性,比如contentView,它将保存当前屏幕上控制器的视图? 如果不使用自动布局,如何处理旋转


编辑:这更像是一个理论问题,我知道addChildViewController方法,也知道如何将视图和控制器添加到它们的父对象。我只是想知道这样做的好方法

这在某种程度上取决于您希望如何在不同的子视图控制器之间进行转换,但您的问题已经列出了一个很好的方法

您肯定希望为每个子对象使用不同的视图控制器。将容器视图添加到顶层视图。此视图用于处理旋转和自动调整大小。此视图的内容可以是子视图控制器视图本身(您可以使用诸如
transitionFromView:toView:duration:options:completion:
)之类的方法之一来控制转换),或者容器视图可以包含
UINavigationController
,您只需将子视图控制器推入其中即可


无论容器视图包含什么,如果您的任何子视图控制器试图将另一个视图控制器显示为模态,都需要小心。显示的视图控制器需要由层次结构顶部的视图控制器显示,否则显示的视图可能无法正确交互或真正显示在其他屏幕元素前面。

屏幕上不存在视图控制器。视图可以。ios5标签有什么原因吗?@DavidRönnqvist提示我使用的是ios5样式,而不是ios6自动布局