addChildViewController和presentViewController

Boo*_*oon 7 uiviewcontroller ios5

iOS 5介绍了自定义容器视图控制器的概念,并提供了类似的API addChildViewController.问题:您可以将视图控制器添加为子视图并仍然使用它presentViewController吗?做后者会自动使它成为子视图控制器presentingViewController吗?

Nic*_*ood 11

这不是它应该如何使用.

父/子关系适用于视图控制器具有由其自己的视图控制器管理的子视图,例如UITabBarController,其中父视图控制器绘制选项卡,子视图控制器绘制每个选项卡的内容.

如果使用presentViewController呈现视图控制器,它通常会占据整个屏幕,或以模态显示,以便呈现视图控制器不再受控制.在那种情况下,没有理由让演示者成为父母,因为它不需要与所呈现的控制器合作 - 它只是让位于所呈现的控制器再次被解雇之前.

你为什么要这样做?如果仅仅是为了使视图控制器彼此具有引用并且可以传递数据,则还有其他方法可以执行此操作(例如,委托模式,NSNotifications,甚至只是链接两者的属性).