ViewController 视图控制器
2016-01-17 16:48
253 查看
[父视图控制器 addChildViewController:子视图控制器];
在此,图控制器A添加了另一个图控制器B,那么A充当父视图控制器,B充当子视图控制器。父视图控制器充当了视图控制器容器的角色。
addChildViewController方法:
- (void)addChildViewController:(UIViewController *)childController
向视图控制器容器中添加子视图控制器
childController:子视图控制器
当要添加的子视图控制器已经包含在视图控制器容器中,那么,相当于先从父视图控制器中删除,然后重新添加到父视图控制器中。
removeFromParentViewController 方法
- (void)removeFromParentViewController
从父视图控制器中删除。
transitionFromViewController 方法
- (void)transitionFromViewController:(UIViewController *)fromViewControllertoViewController:(UIViewController *)toViewController duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
交换两个子视图控制器的位置(由于添加的顺序不同,所以子试图控制器在父视图控制器中存在层次关系)
fromViewController:当前显示的子试图控制器,将被替换为非显示状态
toViewController:将要显示的子视图控制器
duration:交换动画持续的时间,单位秒
options:动画的方式
animations:动画Block
completion:完成后执行的Block
willMoveToParentViewController 方法
- (void)willMoveToParentViewController:(UIViewController *)parent
当一个视图控制器从视图控制器容器中被添加或者被删除之前,该方法被调用
parent:父视图控制器,如果没有父视图控制器,将为nil
####注意点
在调用
在调用
在调用
在调用
在调用
在调用
在此,图控制器A添加了另一个图控制器B,那么A充当父视图控制器,B充当子视图控制器。父视图控制器充当了视图控制器容器的角色。
addChildViewController方法:
- (void)addChildViewController:(UIViewController *)childController
向视图控制器容器中添加子视图控制器
childController:子视图控制器
当要添加的子视图控制器已经包含在视图控制器容器中,那么,相当于先从父视图控制器中删除,然后重新添加到父视图控制器中。
removeFromParentViewController 方法
- (void)removeFromParentViewController
从父视图控制器中删除。
transitionFromViewController 方法
- (void)transitionFromViewController:(UIViewController *)fromViewControllertoViewController:(UIViewController *)toViewController duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
交换两个子视图控制器的位置(由于添加的顺序不同,所以子试图控制器在父视图控制器中存在层次关系)
fromViewController:当前显示的子试图控制器,将被替换为非显示状态
toViewController:将要显示的子视图控制器
duration:交换动画持续的时间,单位秒
options:动画的方式
animations:动画Block
completion:完成后执行的Block
willMoveToParentViewController 方法
- (void)willMoveToParentViewController:(UIViewController *)parent
当一个视图控制器从视图控制器容器中被添加或者被删除之前,该方法被调用
parent:父视图控制器,如果没有父视图控制器,将为nil
1 2 3 4 5 6 7 | @property(nonatomic,readonly) NSArray *childViewControllers - (void)addChildViewController:(UIViewController *)childController - (void)removeFromParentViewController - (void)transitionFromViewController:toViewController:duration:options:animations:completion: - (void)willMoveToParentViewController:(UIViewController *)parent - (void)didMoveToParentViewController:(UIViewController *)parent |
在调用
[父视图控制器 addChildViewController:子视图控制器]之前,无需显式调用
[子视图控制器 willMoveToParentViewController:父视图控制器]方法,因为已经默认调用了。
在调用
[父视图控制器 addChildViewController:子视图控制器]之后,要仅接着调用
[子视图控制器 didMoveToParentViewController:父视图控制器]方法。
在调用
[子视图控制器 removeFromParentViewController]之前,必须先调用
[子视图控制器 willMoveToParentViewController:nil]。
在调用
[子视图控制器 removeFromParentViewController]之后,无需显式调用
[子视图控制器didMoveToParentViewController:父视图控制器],因为已经默认调用了。
在调用
transitionFromViewController之前,调用
[fromController willMoveToParentViewController:nil]。
在调用
transitionFromViewController之后,调用
[toController didMoveToParentViewController:父视图控制器]。
相关文章推荐
- live555 移植
- 稽首文殊,寒山之士;南无普…
- 人人手持心中的圣旗    满面…
- 倒韩这半年
- 使用Struts标签的基本配置
- linux下opengl
- 关于PHP连接ORACLE问题(06年自己写…
- 关于struts2 和velocity 配置后,t…
- x64 linux 下C语言、AT&T格式…
- Ubuntu环境下FLTK开发OpenGL程序
- Ubuntu环境下FLTK开发OpenGL程序
- 修改当前目录下文件的后缀(如.c文…
- ubuntu下安装宋体simsun
- 将当前目录的各子目录下的文件名前…
- 文件编码转换
- UNetbootin for Linux制…
- 为PHP添加mbstring扩展库
- php中使用IBM-DB2
- 64位ubuntu安装wps
- Ubuntu下VirtualBox的安装