viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
2016-06-18 11:57
417 查看
viewWillAppear:
Called when the view is about to made visible. Default does nothing视图即将可见时调用。默认情况下不执行任何操作
viewDidAppear:
Called when the view has been fully transitioned onto the screen. Default does nothing视图已完全过渡到屏幕上时调用
viewWillDisappear:
Called when the view is dismissed, covered or otherwise hidden. Default does nothing视图被驳回时调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作
viewDidDisappear:
Called after the view was dismissed, covered or otherwise hidden. Default does nothing视图被驳回后调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作loadView; This is where subclasses should create their custom view hierarchy if they aren't using a nib. Should never be called directly.这是当他们没有正在使用nib视图页面,子类将会创建自己的自定义视图层。绝不能直接调用。
viewDidLoad;Called after the view has been loaded. For view controllers created in code, this is after -loadView. For view controllers unarchived from a nib, this is after the view is set.
在视图加载后被调用,如果是在代码中创建的视图加载器,他将会在loadView方法后被调用,如果是从nib视图页面输出,他将会在视图设置好后后被调用。
「initWithNibName: bundle:」载入nib档案来初始化「loadView」载入视图「viewDidLoad」在载入视图至内存后会呼叫的方法「viewDidUnload」在视图从内存中释放后会呼叫的方法 (当内存过低,释放一些不需要的视图时调用)
「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中创建的对象进行释放
Called when the view is about to made visible. Default does nothing视图即将可见时调用。默认情况下不执行任何操作
viewDidAppear:
Called when the view has been fully transitioned onto the screen. Default does nothing视图已完全过渡到屏幕上时调用
viewWillDisappear:
Called when the view is dismissed, covered or otherwise hidden. Default does nothing视图被驳回时调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作
viewDidDisappear:
Called after the view was dismissed, covered or otherwise hidden. Default does nothing视图被驳回后调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作loadView; This is where subclasses should create their custom view hierarchy if they aren't using a nib. Should never be called directly.这是当他们没有正在使用nib视图页面,子类将会创建自己的自定义视图层。绝不能直接调用。
viewDidLoad;Called after the view has been loaded. For view controllers created in code, this is after -loadView. For view controllers unarchived from a nib, this is after the view is set.
在视图加载后被调用,如果是在代码中创建的视图加载器,他将会在loadView方法后被调用,如果是从nib视图页面输出,他将会在视图设置好后后被调用。
「initWithNibName: bundle:」载入nib档案来初始化「loadView」载入视图「viewDidLoad」在载入视图至内存后会呼叫的方法「viewDidUnload」在视图从内存中释放后会呼叫的方法 (当内存过低,释放一些不需要的视图时调用)
「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中创建的对象进行释放
相关文章推荐
- 基础动画的使用
- Error creating bean with name 'sessionfactory' defined in ServletContext resource [/WEB-INF/applicat
- Android启动过程深入解析
- RxJava入门指南及其在Android开发中的使用示例
- 【Unity Shaders】学习笔记——SurfaceShader(一)认识结构
- android6.0问题汇总
- 使用ExpandoObject来实现多个Model传送至视图
- 【Unity Shaders】学习笔记——渲染管线
- Application值传递。
- Objective-C浮点数转化整数(向上取整、向下取整)
- Android studio 添加和移除Module
- C#开发微信门户及应用(43)--微信各个项目模块的定义和相互关系
- UIWebView设置agent
- 使用Xamarin插件和VS2010开发android应用程序(一)
- ios学习路线—iOS高级(SDWebImage)
- Android仿简书、淘宝等APP View弹出效果
- Android开发(51) 摄像头自动对焦。在OpenCV图像识别中连续拍照时自动对焦和拍照。
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- 理解和使用Android Studio
- Android入门笔记