控制器的 addChildViewController 方法
2016-06-24 19:57
423 查看
View Controller中可以添加多个sub view,在需要的时候显示出来;
可以通过viewController(parent)中可以添加多个child viewController;来控制页面中的sub view,降低代码耦合度;
通过切换,可以显示不同的view;,替代之前的addSubView的管理
可以通过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];
相关文章推荐
- PHP输出菱形(二)
- C语言文件操作
- Pascal Crt单元
- PHP手册-语言参考-类型-String 字符串
- 图像分割-10.2.4边缘模型、边缘检测、
- SQL语句中的 truncate 、delete与drop区别
- android无法生成R.java文件
- android打包之重叠包技术浅谈
- 查看局域网内其它电脑名称和IP
- PHP输出菱形(一)
- Git 的tag操作
- Kakfa揭秘 Day1 Kafka原理内幕
- SQL错误:无法绑定由多个部分组成的标识符“******”
- 命令模式
- 利用nginx+tomcat+memcached组建web服务器负载均衡
- Node.js中,使用cluster创建子进程
- 机器学习系列:(七)用PCA降维
- Android 国际化
- Android Studio你必须学会的快捷键(Eclipse转AS必看)
- PHP输出乘法口诀表