UIViewController生命周期

本文详细介绍了UIViewController的生命周期,包括loadView、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear、viewDidDisappear等关键方法的调用时机及用途。在iOS开发中,了解这些方法的使用有助于更好地控制视图的加载和显示过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UIWindow如果相当于画框的话,UIViewController相当于是一个画布。

1.创建一个类继承于UIViewController

2.loadView方法

当访问UIViewController的view属性时,view如果此时是nil,那么VC会自动调用loadView方法来初始化一个UIView并赋值给view属性。此方法用在初始化关键view,需要注意的是,在view初始化之前,不能先调用view的getter方法,否则将导致死循环(除非先调用了[super loadView];)如果没有重载loadView方法,则UIViewController会从nib或StoryBoard中查找默认的loadView,默认的loadView会返回一个空白的UIView对象。

3.viewDidLoad

当VC的view对象载入内存后调用,用于对view进行额外的初始化操作。

4.viewWillAppear

在view即将添加到视图层级中(显示给用户)且任意显示动画切换之前调用(这个时候supperView还是nil)。这个方法中完成任何与试图显示相关的任务,例如改变视图方向、状态栏方向、视图显示样式等。

5.viewDidAppear

在view被添加到视图层级中,显示动画切换之后调用(这时view已经添加到supperView中)。在这个方法中执行视图显示相关附件任务,如果重载了这个方法,必须在方法中调用[supper viewDidAppear];

6.viewWillDisappear

view即将从supperView中移除,移除动画切换之后调用,此时已调用removeFromSuperview。

7.viewDidDisappear

view从superView中移除,移除动画切换之后调用,此时已调用removeFromSuperview。

8.viewWillUnload

在VC的view对象从内存中释放之前调用,可以在view被释放前做一些资源清理操作。在ios6.0开始就废弃了,该方法不再会被调用。

9.viewDidUnload

在VC的view对象从内存中释放之后调用,可以在view被释放后做一些view相关的引用清理操作,此时view为nil。在ios6.0开始就废弃了,该方法不再会被调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值