我有两个不同的视图,它们有两个不同的控制器(firstVC和secondVC)。最初这两个视图出现在不同的viewcontrollers中。现在,出于某种原因,他们必须出现在一个视图控制器中并在第二个视图中完成某些操作时对一个视图进行一些更改,我需要创建另一个视图控制器(thirdVC)。
我可以在thirdVC的视图中添加firstVC.view和secondVC.view,并创建firstVC和secondVC的一些委托方法,以便在thirdVC中实现,这样我就不需要对现有的firstVC和secondVC进行更改了吗?
答案 0 :(得分:0)
视图控制器的视图包含由其他视图控制器管理的子视图,称为“容器视图控制器”。这是受支持的模式,但您需要查看Implementing a Container View Controller并将子视图控制器添加到其父容器视图控制器,并将其视图添加为子视图。
这确保了1.父控制器保留子控制器,以便它们的视图不向已解除分配的控制器发送消息,并且2.正确发送框架消息,例如将旋转事件发送到子控制器。如果您不使用这些视图控制器包含方法,您的子控制器最终会以令人惊讶的方式中断。