底层浅谈:什么是视图控制器?

用一句话概括,就是:在iOS应用运行中,屏幕中显示的内容是一组一组的视图对象,他们负责显示屏幕中的内容,而在视图的后面是UIViewController视图控制器,它的作用是管理哪些视图中显示的内容,并协调他们和应用其他部分的关系。

但是这么说还是有些抽象,因为一些具体问题并未得到解决,比如说:如何知道我这个视图控制器控制的是哪些视图?“控制”究竟指的是什么?是事无巨细的管理着视图的内容和显示方式,还是说只需要管理视图的加载到消失整个流程即可?
下面来仔细的看一下:

在一个复杂的iOS应用中, 往往包含多个屏幕的内容,使用UIViewController可以方便管理众多的内容。
UIViewController类负责创建其管理的视图,并在内存较低的时候讲他们从内容中移除。
UIViewController可以通过视图控制器来将新的视图内容,以模态窗口的方式显示在当前视图的上方。
视图控制器可以响应设备的方向变化,对视图进行相应的调整,以适应屏幕的新方向。
一些特殊的视图控制器,如导航视图控制器、标签视图控制器,可使视图的管理更加方便和规范。

视图控制器的生命周期:
alloc
创建一个视图控制器对象,并分配内存空间。
init()
对视图控制器对象进行初始化。
loadView
如果从storyboard创建视图,则从storyboard中加载视图。
viewDidLoad
视图加入完成,可以进行一些自定义操作
viewWillAppear
视图即将要展示在屏幕上。
viewDidAppear
视图已经站在屏幕上显示并完成渲染。
viewWillLayoutSubviews
视图即将布局其子视图
viewDidLayoutSubviews
视图已经完成子视图的布局
viewWillDisappear
视图即将从屏幕中消失
viewDidDisappear
视图已经从屏幕上消失
dealloc
视图被销毁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值