Custom Container View Controller

2018-10-02  本文已影响0人  小嘎aa

(参考:https://www.jianshu.com/p/f82da0662c8a
https://www.jianshu.com/p/7587cce3ede0

Container View Controller 容器视图控制器

定义:在一个 View Controller 中包含多个 View Controller 时,那么这个 View Controller 就是一个 Container View Controller

作用:通过 Container 来对 View Controller 上的 controllers 的生命周期进行管理以及旋转相关的处理。

实现容器视图控制器的主要方法

- (void)addChildViewController:(UIViewController *)childController
- (void)removeFromParentViewController
- (void)willMoveToParentViewController:(UIViewController *)parent
- (void)didMoveToParentViewController:(UIViewController *)parent
- (void)transitionFromViewController...
[superVC addChildViewController:subVC]; 
[superVC.view addSubview: subVC.view];  
[subVC didMoveToParentViewController: superVC];
[subVC willMoveToParentViewController:nil]; // 删除前通知
[subVC.view removeFromSuperview]; 
[subVC removeFromParentViewController];

要想切换子视图控制器a/b, a/b必须均已添加到父视图控制器中,不然会报错

在调用这个方法之前先调用
[fromViewController willMoveToParentViewController: nil];
在completion后 ,调用[toViewController didMoveToParentViewController:self];

上一篇 下一篇

猜你喜欢

热点阅读