Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2618358
  • 博文数量: 877
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5921
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-05 12:25
个人简介

技术的乐趣在于分享,欢迎多多交流,多多沟通。

文章分类

全部博文(877)

文章存档

2021年(2)

2016年(20)

2015年(471)

2014年(358)

2013年(26)

分类: iOS平台

2015-10-10 13:28:27

[IOS笔记] - addChildViewController
View Controller中可以添加多个sub view,在需要的时候显示出来;

可以通过viewController(parent)中可以添加多个child viewController;来控制页面中的sub view,降低代码耦合度;

通过切换,可以显示不同的view;,替代之前的addSubView的管理

 

复制代码
   //在parent view controller 中添加 child view controller    FirstViewController *firstViewController=[[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
    [self addChildViewController:firstViewController];
    
    SecondViewController *secondViewController=[[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
    [self addChildViewController:secondViewController];
    
    ThirdViewController *thirdViewController=[[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];
    [self addChildViewController:thirdViewController];
    
    [self.view  addSubview:thirdViewController.view];

  // addChildViewController回调用[child willMoveToParentViewController:self] ,但是不会调用didMoveToParentViewController,所以需要显示调用  [thirdViewController didMoveToParentViewController:self];
    currentViewController=thirdViewController;
    
  //切换child view controller [self transitionFromViewController:currentViewController toViewController:firstViewController duration:4 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{
            }  completion:^(BOOL finished) { //......  }];
    currentViewController=firstViewController;

  //移除child view controller // removeFromParentViewController在移除child前不会调用[self willMoveToParentViewController:nil] ,所以需要显示调用  [currentViewController willMoveToParentViewController:nil];
    [currentViewController removeFromSuperview];
    [currentViewController removeFromParentViewController]; 
复制代码

 

阅读(955) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~