ViewController的生命周期

ViewController的生命周期

屏幕快照 2016-11-30 下午4.57.03.png

一、 ARC环境

单个viewController的生命周期

  • initWithCoder:(NSCoder *)aDecoder:(如果使用storyboard或者xib)
  • loadView:加载view
  • viewDidLoad:view加载完毕
  • viewWillAppear:控制器的view将要显示
  • viewWillLayoutSubviews:控制器的view将要布局子控件
  • viewDidLayoutSubviews:控制器的view布局子控件完成
    这期间系统可能会多次调用viewWillLayoutSubviews 、 viewDidLayoutSubviews 俩个方法
  • viewDidAppear:控制器的view完全显示
  • viewWillDisappear:控制器的view即将消失的时候
    这期间系统也会调用viewWillLayoutSubviews 、viewDidLayoutSubviews 两个方法
  • viewDidDisappear:控制器的view完全消失的时候

多个viewControllers跳转

当我们点击push的时候首先会加载下一个界面然后才会调用界面的消失方法

  • initWithCoder:(NSCoder *)aDecoder:ViewController2
    (如果用xib创建的情况下)
  • loadView:ViewController2
  • viewDidLoad:ViewController2
  • viewWillDisappear:ViewController1 将要消失
  • viewWillAppear:ViewController2将要出现
  • viewWillLayoutSubviews:ViewController2
  • viewDidLayoutSubviews:ViewController2
  • viewWillLayoutSubviews:ViewController1
  • viewDidLayoutSubviews:ViewController1
  • viewDidDisappear:ViewController1 完全消失
  • viewDidAppear:ViewController2完全出现

当第一个页面显示的时候调用:

当点击按钮跳转到第二个页面的时候调用:

当点击按钮回退到第一个页面的时候调用:

小结:

  • 整个控制器声明周期: viewDidLoad -> viewWillAppear -> viewWillLayoutSubviews -> viewDidLayoutSubviews -> viewDidAppear -> viewWillDisappear -> viewDidDisappear
文章目录
  1. 1. 一、 ARC环境
    1. 1.1. 单个viewController的生命周期
    2. 1.2. 多个viewControllers跳转
本站总访问量 本站访客数人次 ,