视图加载过程中会触发的方法(loadView/viewDidLoad/didReceiveMemoryWarning)

1.loadView

这是视图控制器用来加载根视图的方法;

如果需要将自定义的视图作为根视图,则不需要调用父类对该方法的实现([super loadView]);直接将自定义视图通过self.view定义为视图控制器的根视图;

自定义视图中的简单响应事件也应由视图控制器来进行处理,写在此方法内;

2.viewDIdLoad

当视图控制器的根视图加载完成之后触发该方法;(也就是loadView调用完成之后会立即调用该方法);

需要调用父类对该方法的实现;

该方法可以对根视图进行简单的一些设置,比如背景颜色等等;

3.viewWillAppear:(BOOL)animated;  //当视图控制器的根视图将要显示时触发;

4.viewDidAppear:(BOOL)animated;  //当视图控制器的根视图显示时触发;

5.viewWillDisappear:(BOOL)animated;  //当视图控制器的根视图将要消失时触发;

6.viewDidDisappear:(BOOL)animated;  //当视图控制器的根视图消失时触发;

7.didReceiveMemoryWarning;//当收到内存警告时触发, 此时需要释放掉暂时不使用的资源,以及可重建对象;

1 - (void)didReceiveMemoryWarning {
2     [super didReceiveMemoryWarning];
3     if ([self isViewLoaded] && !self.view.window) {
4         self.view = nil;
5     }
6 }
7 //[self isViewLoaded] 看视图是否已经加载了
8 //self.view.window 看根视图有没有在window上展示

#pragma mark -- 和屏幕旋转相关的方法

8.设置当设备发生旋转时,当前界面是否发生变化,支持旋转

- (BOOL)shouldAutorotate {

return YES;

}

9.设置当前界面支持的旋转的方向. 必须要依赖于当前应用程序支持的方向;

- (NSUInteger)supportedInterfaceOrientations {

return UIInterfaceOrientationMaskAll;//支持所有方向

}

10.当屏幕旋转时触发,iOS8之后有效

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {

//size 表示旋转之后的屏幕的尺寸;

NSLog(@"%@",NSStringFromCGSize(size)); //输出此时的屏幕尺寸;

}

关于调用父类的方法:

//父类对该方法的实现,可以用来帮助我们对视图进行一些初始化(有些初始化工作我们是不知道的,也看不到,所以一定要调用);

//当重写从父类继承过来的方法时,如果不知道父类对该方法是如何实现的,记得要使用super调用该方法的实现;

关于方法中的[super xxx]调用父类的方法,如果不需要额外添加内容,有参数的直接return YES就行了.

//补充一个:

-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;

这是视图控制器的指定初始化方法,无论调用哪个方法,改初始化方法都会被触发;

-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        //完成本类独有的初始化操作.
    }
    return self;
}
时间: 2024-08-08 01:28:23

视图加载过程中会触发的方法(loadView/viewDidLoad/didReceiveMemoryWarning)的相关文章

百度地图 在加载过程中,根据回调函数结果中第一个点设置为中心点

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script&g

spring加载过程中jar包加载不了,解决方法

当我们在开发spring项目时,一般会将jar包放到webInf/lib下,这样是myeclipse自动将jar包加载到tomcat中webapps下,但是当我们新建一个lib文件夹的情况下,我们add building Path时就会出错,这时候我们有个技巧供使用. 1.项目上点击右键搜索de,找到deployment assembly 目的就是将此处添加的jar包添加到系统webINF/lib路径下 来自为知笔记(Wiz) spring加载过程中jar包加载不了,解决方法

DOM加载过程中ready和load的区别

在浏览器地址栏输入URL地址,浏览器开始加载页面时,有以下几个过程 1.浏览器开始解析HTML文档 2. 浏览器遇到HTML文档中的<script>元素以及CSS样式文件,并且没有async或defer属性,就暂停解析,开始执行脚本和CSS样式 3. HTML文档解析完成 4. 浏览器等待图片.样式表.字体文件等外部资源加载完成 在这其中,有两个阶段: ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件): load,表示页面包含图片等外部文件在内的所有元素都加载完成. DOM

链接与加载过程中,几个关键的概念

http://www.cnblogs.com/qiaoconglovelife/p/5870000.html 加载(load) 将程序拷贝到存储器并运行的过程,由加载器(loader)执行. 链接分类 编译时(compile time)链接:也称为传统静态链接.静态链接: 加载时(load time)链接:在程序被加载的时候动态链接共享库: 运行时(run time)链接:在程序运行时根据需要动态链接共享库. 目标文件 可重定位目标文件:可被链接生成可执行目标文件: 可执行目标文件:可被直接拷贝

ajax数据加载过程中进行数据加载提示

方法1:$(function(){ $.get("URL", function(Msg){ $("你要显示提示的地方").html("数据正在加载中.."); $("你要显示查询数据的地方").html(Msg); }); }); 方法2: <html><head> <title></title></head><body><input type=&q

输入 URL 到页面完成加载过程中的所有发生的事情?

转到浏览器中输入URL给你一个页面后,.有些事情,你每天都在使用,学的是计算机网络知道是怎么回事.DNS解析然后页面的回馈,只是要讲好还是有难度. 之前fex团队的nwind专门写过这个问题的博客: http://fex.baidu.com/blog/2014/05/what-happen/ 厉害的地方是将整个计算机体系和硬件都涉及进来,非常广非常深,太强大了. 然后找到一个StackOverFlow的答案: what happens when you type in a URL in brow

WPF 大数据加载过程中的等待效果——圆圈转动

本文是转载的,有两种方式实现等待效果,一种是纯前台技术,一种是后台技术.个人更倾向于使用后台技术,主要是后台技术可以实现代码重用. 地址:http://blog.csdn.net/qqamoon/article/details/7001693:http://www.cnblogs.com/jying/p/3230391.html

linux 内核驱动加载过程中 向文件系统中的文件进行读写操作

utils.h 文件: #ifndef __UTILS_H__ #define __UTILS_H__ void a2f(char *s); #endif utils.c 文件: #include <linux/fs.h> #include <asm/segment.h> #include <asm/uaccess.h> #include <linux/buffer_head.h> #include <linux/string.h> #inclu

java虚拟机学习(四)类的加载过程

类从虚拟机内存加载到从内存卸载,经历的生命周期是:加载,验证,准备,解析,初始化,使用,卸载这几个阶段, 其中验证,解析,初始化被称为 连接过程(Linking). (打算这块和类加载原理后再看class文件结构那篇) 除了解析和使用,其他的过程基本顺序就是这样, 解析可以是在初始化完成之后,这是为了运行时动态绑定. 在虚拟机规范中定义了5中情况(有且只有)必须对类进行初始化(之前进行过,加载,验证,准备): 1.碰到new,getstatic,putstatic,invokestatic这4条