UIKit 视图的生命周期
2015-07-30 11:33
465 查看
在视图控制器的生命周期中,各个方法的调用顺序
viewDidLoad只会在屏幕出现前执行一次,在此处可以t添加一次性的初始化代码,但是此时屏幕视图并没有构建出来,因此,在此处无法获得视图的相关几何信息,从而无法确定用户的屏幕尺寸。
视图即将出现在屏幕上时,viewWillAppear 会被调用,当存在多个MVC时,viewWillAppear 会被多次调用,
当视图不在屏幕上时,模型中的数据如果发整了改变,则在 viewWillAppear 对数据进行同步。
视图即将在屏幕上消失时,通常在 viewWillDisappear 中做保存数据的操作
如果你的app占用太多的内存,iOS会杀掉你的app进程,所以必须在此方法中释放所占用的大块内存
自动配置子视图布局
awakeFromNib 在输出口被设置之前调用 viewDidLoad 加载视图 viewWillLayoutSubviews 配置页面布局 viewDidLayoutSubviews 配置页面布局完成 viewWillAppear UIViewController 对象的视图即将加入窗口时调用; viewDidAppear UIViewController 对象的视图已经加入到窗口时调用; viewWillDisappear UIViewController 对象的视图即将消失、被覆盖或是隐藏时调用; viewDidDisappear UIViewController 对象的视图已经消失、被覆盖或是隐藏时调用 didReceiveMemoryWarning 内存不足时,被iOS调用
viewDidLoad只会在屏幕出现前执行一次,在此处可以t添加一次性的初始化代码,但是此时屏幕视图并没有构建出来,因此,在此处无法获得视图的相关几何信息,从而无法确定用户的屏幕尺寸。
- (void)viewDidLoad { [super viewDidLoad]; // 在所有的 viewWill/Did 方法中必须调用 super 类同名方法 // 添加初始化信息 }
视图即将出现在屏幕上时,viewWillAppear 会被调用,当存在多个MVC时,viewWillAppear 会被多次调用,
当视图不在屏幕上时,模型中的数据如果发整了改变,则在 viewWillAppear 对数据进行同步。
-(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; // 添加初始化代码,可以获取视图的几何数据 }
视图即将在屏幕上消失时,通常在 viewWillDisappear 中做保存数据的操作
- (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; // 在这里记录诸如记录滚动条位置、保存临时数据 [self rememberScrollPosition]; [self saveDataToPermanentStore]; }
如果你的app占用太多的内存,iOS会杀掉你的app进程,所以必须在此方法中释放所占用的大块内存
- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // 释放任何可以重建的资源,可以让资源指针指向nil }
自动配置子视图布局
- (void)viewWillLayoutSubviews{ [super viewWillLayoutSubviews]; // 添加几何信息代码 } - (void)viewDidLayoutSubviews{ [super viewDidLayoutSubviews]; // 添加几何信息代码 }
相关文章推荐
- VMWare虚拟机迁移时,打开后提示主机不支持 CPUID 错误
- String,StringBuffer,StringBuilder的区别
- UIView的autoresizingMask属性探究
- UIView的autoresizingMask属性探究
- uibuttton中的等价替换(方便实用)
- 【Android UI】状态栏和toolbar颜色一致
- 62. Unique Paths
- 队列(Queue) C 语言实现
- HDOJ 5147 Sequence II 树阵
- 格而知之2:UIView的autoresizingMask属性探究
- UILabel常用属性小结
- mui.fire()用法
- iOS UITableView使用详解
- UITableView介绍
- 安卓主界面UI不能实现下载
- UIViewController的presentedViewController,presentingViewController和parentViewController三个属性
- Equivalent Strings (字符串相等?)
- poj 2778 AC自动机+快速幂(DNA Sequence)
- 多线程入门教程四:MFC的多线程
- iOS开发UI篇—常见的项目文件介绍