iOS 5
引入了自定义容器视图控制器的概念,并提供了addChildViewController
之类的API。问题:您可以将视图控制器添加为子视图并使用presentViewController
仍然显示它吗?做后者会自动使它成为presentingViewController
的儿童视图控制器吗?
答案 0 :(得分:11)
这不是应该如何使用的。
父/子关系适用于视图控制器具有由其自己的视图控制器管理的子视图,例如UITabBarController,其中父视图控制器绘制选项卡,子视图控制器绘制每个选项卡的内容。
如果使用presentViewController呈现视图控制器,它通常会占据整个屏幕,或以模态显示,以便呈现视图控制器不再受控制。在那种情况下,演示者没有理由成为父母,因为它不需要与所呈现的控制器合作 - 它只是让位于所呈现的控制器再次被解除之前。
为什么你想这样做?如果只是为了使视图控制器具有彼此的引用并且可以传递数据,则还有其他方法可以执行此操作(例如,委托模式,NSNotifications,或者甚至只是链接两者的属性)。