美文网首页
iOS addChildViewController

iOS addChildViewController

作者: 百事星空 | 来源:发表于2022-09-06 10:14 被阅读0次

iOS5.0之前只能在ViewController的view中不断的通过addSubView添加subView到VC的view视图层级中。
这样使得主ViewController中的内容越来越混乱,代码越来越多,subView的管理越来越困难。
iOS5.0之后按照MVC的原则,每个ViewController只需要管理一个view视图层次结构,因此我们可以使用childViewController来拆分开发中比较复杂的View。并且此时的childViewController拥有了与父ViewController同步的生命周期。

添加子控制器

//[childVC willMoveToParentViewController:superVC];//自动调用,可以省略
[superVC addChildViewController: childVC];
[superVC.view addSubview: childVC.view];
[childVC didMoveToParentViewController:superVC];//手动调,不可以省略

移除子控制器

[childVC willMoveToParentViewController:nil];//手动调用,不可以省略
[childVC removeFromParentViewController];
[childVC.view removeFromSuperview];
//[childVC didMoveToParentViewController:nil];//自动调用,可以省略

多个子控制器切换
  • (void)transitionFromViewController:(UIViewController *)fromViewController toViewController:(UIViewController *)toViewController duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^ __nullable)(void))animations completion:(void (^ __nullable)(BOOL finished))completion;

相关文章

网友评论

      本文标题:iOS addChildViewController

      本文链接:https://www.haomeiwen.com/subject/ebqgnrtx.html