ios 开发中视图的声明周期

viewWillAppear: 视图即将可见时调用。默认情况下不执行任何操作

viewDidAppear: 视图已完全过渡到屏幕上时调用

viewWillDisappear: 在该视图被取消、覆盖或以其他方式隐藏后调用,
viewDidLoad:在视图加载后被调用,如果是在代码中创建的视图加载器,他将会在loadView方法后被调用,如果是从nib视图页面输出,他将会在视图设置好后后被调用。

viewWillAppear:当收到视图在视窗将可见时的通知会呼叫的方法

viewDidAppear:当收到视图在视窗已可见时的通知会呼叫的方法

viewWillDisappear:当收到视图将去除、被覆盖或隐藏于视窗时的通知会呼叫的方法

viewDidDisappear:当收到视图已去除、被覆盖或隐藏于视窗时的通知会呼叫的方法

didReceiveMemoryWarning:收到系统传来的内存警告通知后会执行的方法

shouldAutorotateToInterfaceOrientation:是否支持不同方向的旋转视图

willAnimateRotationToInterfaceOrientation:在进行旋转视图前的会执行的方法(用于调整旋转视图之用)

代码的执行顺序

1、alloc创建对象,分配空间

2、init (initWithNibName) 初始化对象,初始化数据

3、loadView从nib载入视图,通常这一步不需要去干涉。除非你没有使用xib文件创建视图

4、viewDidLoad载入完成,可以进行自定义数据以及动态创建其他控件

5、viewWillAppear视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了

6、viewDidAppear视图已在屏幕上渲染完成 当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反

1、viewWillDisappear视图将被从屏幕上移除之前执行

2、viewDidDisappear视图已经被从屏幕上移除,用户看不到这个视图了

3、dealloc视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放

viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序的更多相关文章

  1. 今天 同一个Nav 左右button 替换不显示的问题 viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序

    viewWillAppear:  Called when the view is about to made visible. Default does nothing视图即将可见时调用.默认情况下不 ...

  2. Java学习笔记之——this关键字、非静态成员属性和静态成员属性的区别、类的加载顺序

    一.this关键字 1.代表当前类的对象 2.通过” . ”调用成员属性和成员方法 3.通过this可以区分成员属性和参数 参数名和属性名相同的情况,默认是参数名 二.非静态成员属性和静态成员属性的区 ...

  3. iOS - viewDidLoad, viewWillDisappear, viewWillAppear区别及加载顺序

    viewWillAppear: Called when the view is about to made visible. Default does nothing视图即将可见时调用.默认情况下不执 ...

  4. iOS之nib、xib及storyboard的区别及storyboard的加载过程

    先讲述下nib, nib是3.0版本以前的产物,在终端下我们可以看到,NIB其实是一个文件夹,里面有可执行的二进制文件: 区分xib和storyboard的区别? 不同点: 1> 无论nib也好 ...

  5. 控制器view的加载顺序initWithNibName >>> viewDidLoad >>> viewWillAppear >>> viewDidAppear

    -(void)viewWillAppear:(BOOL)animated { self.navigationController.navigationBarHidden=NO;// 邓超界:放在wil ...

  6. oracle jdk和openjdk区别;idea如何加载jdk源码并调试jdk代码

    两个jdk的区别 oracle jdk是sun/oracle(甲骨文)公司的,部分jdk开源:相对比较稳定,使用的比较多. openjdk是完全开源的,据说是官方oracle唯一承认的开源版本. id ...

  7. yml和properties的加载顺序和区别

    正常的情况是先加载yml,接下来加载properties文件.如果相同的配置存在于两个文件中.最后会使用properties中的配置.最后读取的优先集最高. 两个配置文件中的端口号不一样会读取prop ...

  8. Linux下文件 ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 和 /etc/profile 的区别 | 用户登录后加载配置文件的顺序

    转自 https://blog.csdn.net/secondjanuary/article/details/9206151 文件说明: /ect/profile 此文件为系统的每个用户设置环境信息, ...

  9. JS 页面加载触发事件 document.ready和window.onload的区别

    document.ready和onload的区别——JavaScript文档加载完成事件页面加载完成有两种事件: 一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件): 二是onlo ...

随机推荐

  1. JAVA学习笔记系列1-Java版本介绍

    JavaSE(Java Standard Edition):标准版,定位在个人计算机上的应用(桌面应用).因为一般都是Windows系统,因此Java的这个发展并不好. JavaEE(Java Ent ...

  2. DAY 04运算符与流程控制

    输入输出补充: python2与python3的输入输出不同 python2中有两种用户 输入方式,一种是raw_input,和input raw_input与python3的input是相同的 而p ...

  3. 解决Yii2中刷新网页时验证码不刷新的问题

    解决Yii2中刷新网页时验证码不刷新的问题 [ 2.0 版本 ] ljfrocky  2015-05-30 19:39:00  1304次浏览 5条评论 10110 在Yii2框架中,如果在表单中使用 ...

  4. 位运算 - a^b

    求 a 的 b 次方对 p 取模的值. 输入格式 三个整数 a,b,p ,在同一行用空格隔开. 输出格式 输出一个整数,表示a^b mod p的值. 数据范围 1≤a,b,p≤109 输入样例: 3 ...

  5. redux进一步优化

    1. 将原来的  mapStateToDispatch  中的函数提取出来,放在组件中, 如原来的: function mapStateToProps(state, ownProps) { retur ...

  6. MySQL Event--Event and EventScheduler

    MySQL Event 创建EVENT语法: CREATE [DEFINER = { user | CURRENT_USER }] EVENT [IF NOT EXISTS] event_name O ...

  7. addEventListener以及滑轮滑动事件的应用

    addEventListener用于向元素添加事件,而其适用于较新版的IE浏览器(如IE9),对于IE6/7/8来说,应该用attachEvent 下面的代码即为向<img>元素添加事件 ...

  8. vim 简单实用

    http://www.runoob.com/linux/linux-vim.html 编辑模式 : (同时打开两个文件) vim test.c test1.c -O     同时编辑两个文件    - ...

  9. SVN简单使用

    如果是window操作系统,默认安装.右键菜单就会有显示SVN 如果已经配置好SVN,直接确定既可以检出. 如果没有配置,那么会显示下面的验证: 输入用户名和密码即可

  10. python3 访问百度返回压缩格式

    import urllib, urllib.request, urllib.parse import random import zlib import re import os, time Save ...