zoukankan      html  css  js  c++  java
  • ViewController 视图控制器

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

     

  • 相关阅读:
    2018-8-10-win10-uwp-win2d-使用-Path-绘制界面
    2018-8-10-win10-uwp-win2d-使用-Path-绘制界面
    PHP money_format() 函数
    PHP metaphone() 函数
    PHP md5_file() 函数
    PHP md5() 函数
    PHP ltrim() 函数
    查看统计信息
    CF960F Pathwalks_权值线段树_LIS
    hdu 5691 Sitting in line 状压动归
  • 原文地址:https://www.cnblogs.com/Jenaral/p/5137425.html
Copyright © 2011-2022 走看看