首页 > 其他 > 详细

ViewController 视图控制器

时间:2016-01-17 17:33:55      阅读:140      评论:0      收藏:0      [点我收藏+]

[父视图控制器 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

 

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:父视图控制器]

 

ViewController 视图控制器

原文:http://www.cnblogs.com/Jenaral/p/5137425.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!