0

我有一个视图控制器,它几乎没有控件和图像,并且位于屏幕顶部。我将在其下方留出一个空间用于子视图控制器及其视图。

我将一次显示一个子视图控制器,有什么好的方法呢?子视图控制器的总数约为 6 个,它们非常不同,因此重用一些容器视图控制器将不会真正起作用。

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

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

4

1 回答 1

2

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

您肯定想要为每个孩子使用不同的视图控制器。将容器视图添加到顶层视图。这个视图是处理旋转和自动调整大小的地方。该视图的内容可能是子视图控制器视图本身(您可以使用类似的方法之一控制转换transitionFromView:toView:duration:options:completion:),或者容器视图可以包含 aUINavigationController并且您只需将子视图控制器推入其中。

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

于 2013-04-29T08:08:14.383 回答