原文链接地址:http://www.cocoachina.com/bbs/read.php?tid=38766

UIView的一些基本方法理解
UIView的一些基本方法理解:loadView、viewDidLoad、viewDidUnload、viewWillAppear、viewWillDisappear

经常使用UIView以及它的子类,一般对于init:,viewDidLoad:,dealloc:等方法应该是比较熟悉和了解的。
对于其它几个基本方法就不那么常用了,为了更好地编程使用这些方法,在此集中收集整理一下各方法调用的时机和作用:

init:方法
在init方法中实例化必要的对象(遵从LazyLoad思想)
init方法中初始化ViewController本身

loadView:方法
这是当没有正在使用nib视图页面,子类将会创建自己的自定义视图层。绝不能直接调用。
如果手工维护views,必须重载重写该方法。
当view需要被展示而它却是nil时,viewController会调用该方法。
loadView和IB构建view
你在控制器中实现了loadView方法,那么你可能会在应用运行的某个时候被内存管理控制调用。 如果设备内存不足的时候, view 控制器会收到didReceiveMemoryWarning的消息。 默认的实现是检查当前控制器的view是否在使用。 如果它的view不在当前正在使用的view hierarchy里面,且你的控制器实现了loadView方法,那么这个view将被release, loadView方法将被再次调用来创建一个新的view。

viewDidLoad:方法
在视图加载后被调用:
如果是在代码中创建的视图加载器,他将会在loadView方法后被调用;
如果是从nib视图页面输出,他将会在视图设置好后后被调用。
重载重写该方法以进一步定制view
在iPhone OS 3.0及之后的版本中,还应该重载重写viewDidUnload来释放对view的任何索引
viewDidLoad后调用数据Model

viewDidUnload:方法
当系统内存吃紧的时候会调用该方法(注:viewController没有被dealloc)
内存吃紧时,在iPhone OS 3.0之前didReceiveMemoryWarning是释放无用内存的唯一方式,但是OS 3.0及以后viewDidUnload方法是更好的方式
在该方法中将所有IBOutlet(无论是property还是实例变量)置为nil(系统release view时已经将其release掉了)
在该方法中释放其他与view有关的对象、其他在运行时创建(但非系统必须)的对象、在viewDidLoad中被创建的对象、缓存数据等 release对象后,将对象置为nil(IBOutlet只需要将其置为nil,系统release view时已经将其release掉了)
一般认为viewDidUnload是viewDidLoad的镜像,因为当view被重新请求时,viewDidLoad还会重新被执行
viewDidUnload中被release的对象必须是很容易被重新创建的对象(比如在viewDidLoad或其他方法中创建的对象),不要release用户数据或其他很难被重新创建的对象

dealloc:方法
viewDidUnload和dealloc方法没有关联,dealloc还是继续做它该做的事情

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
视图被驳回后调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作

转载于:https://www.cnblogs.com/85538649/archive/2012/05/16/2503952.html

iphone UIView的一些基本方法理解相关推荐

  1. 了解iPhone App特点及基本设计方法

    了解iPhone App特点及基本设计方法 本文介绍的是了解iPhone App特点及基本设计方法,很详细的介绍了设计方法,我们先来看内容. AD: 本文主要是来了解iPhone App特点及基本设计 ...

  2. UIView中常用的方法

    UIView 中常见的方法总结 addSubview:  添加一个子视图到接收者并让它在最上面显示出来.  - (void)addSubview:(UIView *)view  讨论  这方法同样设置 ...

  3. iphone已停用怎么解锁_两种无密码解锁iPhone锁屏密码的方法

    现在很多手机都配备指纹解锁功能,大家平时用惯了指纹解锁,有时候在需要输入锁屏密码的时候反倒记不清密码是什么了.像是手机重启后就需要输入密码解锁,iPhone锁屏密码忘了怎么办? 多次输入错误密码还可能 ...

  4. UIView 中常见的方法总结

    UIView 中常见的方法总结 addSubview:  添加一个子视图到接收者并让它在最上面显示出来.  - (void)addSubview:(UIView *)view  讨论  这方法同样设置 ...

  5. K2评分方法理解实例

    文章目录 贝叶斯网络:K2评分方法理解实例 贝叶斯网络:K2评分方法理解实例

  6. html刘海屏高度,iphone刘海屏网页适配方法

    1. 下面是实现iphonex 刘海屏前端网页适配的一个插值算法小案例 Title body, ul { margin: 0; } ul { padding-left: 10px; } li { li ...

  7. iPhone如何开启头部追踪功能 iPhone头部追踪功能使用方法

    通过支持的设备听歌时,就能感受到空间音频有了动态头部追踪效果,无论怎么转动头部,都会感觉声音环绕在你四周,一起来了解一下吧 如果你订阅了Apple Music,通过支持的设备听歌时,就能感受到空间音频 ...

  8. ios修改apn的插件_苹果iPhone查看和编辑APN方法教程

    iPhone怎么查看和编辑APN?很多小伙伴们都还不知道,下面小编为大家整理了苹果iPhone查看和编辑APN方法教程,一起来看看吧. iPhone怎么查看和编辑APN 如果您输入了错误的 APN 设 ...

  9. iPhone通讯录导入及备份方法

    现在大家经常更换手机,刚接触iphone的朋友可能会无从下手,下面介绍两种方法: 方法1:把原有手机卡(SIM)上的通讯录导入iphone iPhone手机使用手册-"通讯录"操作 ...

最新文章

  1. SAP Distribution Model初探
  2. gulp复制整个文件夹或文件到指定目录(包括拷贝单个文件)
  3. 在云服务器上持续运行springboot项目
  4. Wireshark软件的安装,进行数据包的捕获【Wireshark安装使用】
  5. leetcode-26-删除排序数组中的重复项
  6. redux中的小bug
  7. 淘淘商城项目分析报告
  8. QT学习笔记(六):Qt5主窗口框架示例
  9. 经济学家忽悠老百姓的“万能公式”
  10. MySQL 在高并发下的 订单撮合 系统使用 共享锁 与 排他锁 保证数据一致性
  11. 埃及分数(codevs 1288)
  12. Python之网络爬虫(Xpath语法、Scrapy框架的认识)
  13. javascript 中的深复制 和 其实现方法
  14. AutoCAD中的Spline曲线算法分析(二)
  15. 约瑟夫问题MATLAB代码
  16. 富文本编辑器ueditor 自定义工具栏配置
  17. Python中的爬虫
  18. 如何解决浏览器音视频video/audio设置自动播放autoplay无效问题?
  19. 产品经理:一个商业 AIoT 智能硬件产品的完整拆解
  20. 教你用OpenCV 和 Python给证件照换底色(蓝底 -红底-白底)

热门文章

  1. DataGrid入门经典(C#)
  2. 以金山界面库(openkui)为例思考和分析界面库的设计和实现——资源读取模块分析
  3. 【C++】重载、重写、隐藏
  4. 【Qt】Qt5.9.0: error: GL/gl.h: 没有那个文件或目录
  5. 未找到beta版怎么解决_刚刚,谷歌正式发布Android 11 Beta版,带来多项重磅更新...
  6. 后处理安装_分享UG后处理出Excel程序单的方法
  7. android mac测试地址,android获取有线网的Mac地址
  8. 田忌赛马贪心算法_田忌赛马 贪心算法
  9. MySQL设值自动修改时间
  10. 记住密码以及Android 列表的操作