加载控制器View的方式以及控制器View的生命周期
来源:互联网 发布:智慧课堂软件 编辑:程序博客网 时间:2024/05/17 05:03
加载控制器View的方式以及控制器View的生命周期
1.加载控制器的方式
(1)如果创建时通过指定名称加载与控制器相关联的xib文件,则直接加载
UIViewController *vc = [[UIViewController alloc]initWithNibName:”controller” bundle:nil];
(2)如果没有指定加载某个xib文件,则查找与此控制器类名称相同的xib文件加载,假如此控制器叫theViewController,则它就去找名字”theViewController”的xib文件去加载
UIViewController *vc = [[UIViewController alloc]init];
(3)如果没有xib文件中没有叫这个控制器名称的,则去加载去掉这个控制器名称的Controller字眼剩下前缀的xib文件,比如UIViewController,则去加载UIView.xib 文件
(4)如果不通过sb和xib去加载,则系统会去自动调用loadView创建一个空白View ,这个view的颜色被clear了所以看见window的颜色是黑色的
(5)如果你重写了loadView 则 不管你有没有sb和xib文件,都没关系,反正它都忽略了 都会去loadView加载
“`注意:如果你已经重写了loadView:方法,则系统会忽略查找对应名称的相关联的storyboard、xib文件。
#### 2.加载控制器view的生命周期(1)loadView:控制器创建时,先调这个方法来加载控制器的View,这个方法时用来自定义或者系统创建控制器的View的。(2)viewDidLoad:方法是用来对生成的视图进行一些初始化,并添加一些视图层次,或者根据本地或者网络返回的数据模型进行一些视图层次的初始化。(3)viewWillAppear:方法视图将要出现时会调用这个方法,可以进行一些初始化的改变(4)viewDidAppear:方法视图已经出现(5)viewWillDisAppear:方法视图将要消失(6)viewDidDisAppear:方法视图已经消失![哈哈](http://img.blog.csdn.net/20170614153745769?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWlhb3BmMTIz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)```注意:当视图从屏幕上消失再出现时,如果视图没有因为内存警告而做出一些nil操作,则不会去loadView方法 也不会走viewDidLoad```(7)viewUnload方法这个方法就是当因为手机内存不足时,控制器会收到内存警告消息didReceiveMemoryWarning。didReceiveMemoryWarning这个方法的默认实现,就是当viewController的View不在应用程序的视图层级结构中时,就会讲view释放并且调用viewDidUnload方法。而这个方法主要用来释放界面视图的相关资源,讲相关实例设置nil。<div class="se-preview-section-delimiter"></div>
注意:和dealloc方法不同:dealloc方法是控制器被释放时被调用,而viewDidUnload方法只是View被释放 ,两者并没有关系
“`
- 加载控制器View的方式以及控制器View的生命周期
- 控制器View的生命周期
- 控制器view的生命周期
- 控制器View的生命周期图解
- 控制器view的生命周期方法
- iOS 控制器View的生命周期
- 控制器View的加载 && 创建
- iOS的控制器的view加载到另一个控制器的View以及手势问题的坑
- iOS中视图控制器View的加载与生命周期
- 25.storyboard 控制器view的加载 控制器view下载
- 控制器几种创建方式以及控制器的view的创建
- ios深入了解控制器view的加载
- iOS--控制器加载自定义view的xib
- 52-控制器的View
- 控制器View的显示
- 获取view的控制器
- 31.modal方式弹出控制器的view
- 视图控制器的view创建方式
- Linux 下部署Django项目
- Android onTouchEvent,dispatchTouchEvent,onInterceptTouchEvent分析
- SELinux之一:SELinux基本概念及基本配置
- Codevs 1344 线型网络 模拟退火
- OC 实例变量(instance var)与属性(@property)的关系
- 加载控制器View的方式以及控制器View的生命周期
- 解决Cordova开发的iOS的app界面被状态栏覆盖
- C# 读取excel日期时获取到数字转换成日期
- Tomcat Server.xml详解
- 应用统计决策的肤色提取
- 学生管理系统
- volatile 内存可见性
- PHP 强制类型转换
- Linux Shell常用命令总结