addSubview和addChildViewController的区别

多控制器管理(类似于模拟tabBar的实现)的场景下,来讨论这两个方法

//society为一个UIController的实例
[self.view addSubview:society.view];

[self addChildViewController:society];

addSubview

劣势:
1.控制器其实已经被销毁,但控制器的View却没有被销毁,所以无法处理这个View上的点击事件。

addChildViewController

优势:
1.如果父控制器是导航控制器子控制器,那么在子控制器中push到另外一个页面是可以的。
2.如果父控制器是被Modal出来的,那么子控制器执行dismiss的时候会在父控制器上生效。

你可能感兴趣的:(addSubview和addChildViewController的区别)