loadView和viewDidLoad的官方API的一些解释
来源:互联网 发布:python递归算法 编辑:程序博客网 时间:2024/09/21 08:59
一、loadView
永远不要主动调用这个函数。view controller会在view的property被请求并且当前view值为nil时调用这个函数。如果你手动创建view,你应该重载这个函数。如果你用IB创建view并初始化view controller,那就意味着你使用initWithNibName:bundle:方法,这时,你不应该重载loadView函数。
这个方法的默认实现是这样:先寻找有关可用的nib文件的信息,根据这个信息来加载nib文件,如果没有有关nib文件的信息,默认实现会创建一个空白的UIView对象,然后让这个对象成为controller的主view。
所以,重载这个函数时,你也应该这么做。并把子类的view赋给view属性(property)(你create的view必须是唯一的实例,并且不被其他任何controller共享),而且你重载的这个函数不应该调用super。
永远不要主动调用这个函数。view controller会在view的property被请求并且当前view值为nil时调用这个函数。如果你手动创建view,你应该重载这个函数。如果你用IB创建view并初始化view controller,那就意味着你使用initWithNibName:bundle:方法,这时,你不应该重载loadView函数。
这个方法的默认实现是这样:先寻找有关可用的nib文件的信息,根据这个信息来加载nib文件,如果没有有关nib文件的信息,默认实现会创建一个空白的UIView对象,然后让这个对象成为controller的主view。
所以,重载这个函数时,你也应该这么做。并把子类的view赋给view属性(property)(你create的view必须是唯一的实例,并且不被其他任何controller共享),而且你重载的这个函数不应该调用super。
如果你要进行进一步初始化你的views,你应该在viewDidLoad函数中去做。在iOS 3.0以及更高版本中,你应该重载viewDidUnload函数来释放任何对view的引用或者它里面的内容(子view等等)。
这个函数在controller加载了相关的views后被调用,而不论这些views存储在nib文件里还是在loadView函数中生成。而多数情况下是做nib文件的后续工作。
三 layoutsubviews
看字面也就是布局子视图的意思.另外可以用于判定父视图的bounds发生变化的时候,子视图在该方法中可以判定父视图的bounds时候if偶已经发生了变化,如果发生了变化,根据父视图,子视图的frame作出相应的调整,经典的情形是横竖屏的转换.也经常用于懒加载.
很多人习惯性地将各种view的加载都写到viewDidLoad之中,这是不太科学的,会影响系统的效率,建议重写系统的loadView方法,配合方法三使用.
1 0
- loadView和viewDidLoad的官方API的一些解释
- loadView 和 viewDidLoad 的区别
- loadView 和 viewDidLoad 的区别
- loadView 和 viewDidLoad 的区别
- loadView 和 viewDidLoad的用法
- loadView和viewDidLoad的关系
- loadView和viewDidLoad的用法
- viewDidLoad和loadView和viewWillAppear的区别
- iPhone loadView 和 viewDidLoad的区别
- loadView 和 viewDidLoad、viewDidunload 的区别
- IOS 开发 loadView 和 viewDidLoad 的区别
- loadView、viewDidLoad 和viewDidUnload的关系
- UIView的一些基本方法 init、loadView、viewDidLoad、viewDidUnload、dealloc
- UIView的一些基本方法 init、loadView、viewDidLoad、viewDidUnload、dealloc
- UIView的一些基本方法 init、loadView、viewDidLoad、viewDidUnload、dealloc
- UIView的一些基本方法 init、loadView、viewDidLoad、viewDidUnload、dealloc
- UIView的一些基本方法 init、loadView、viewDidLoad、viewDidUnload、dealloc
- loadView与viewDidLoad的区别
- 关于struts2中action请求会执行两次的问题
- 王垠:程序员的心理疾病
- Remove Element
- Highcharts数据注意事项
- 拓胜第五十九天
- loadView和viewDidLoad的官方API的一些解释
- 开放ubuntu server的指定端口
- jenkins在自动化测试中的应用(Selenium+Python+Jenkins)
- 新的一年,新的希望,新的努力
- 练习,贪财的富翁
- 【Objective-C】OC中键值编码(KVC)的概念和使用方法
- 如何在ANDROID JNI 的C++中打Log
- Max Subarray
- java/servlet 断点下载