首页 > 移动平台 > 详细

iOS开发总结(A0)- ViewController Life Cycle 及主要阶段的任务

时间:2015-06-30 17:55:10      阅读:1108      评论:0      收藏:0      [点我收藏+]

下图是之前standford 课程时,做的一个关于vc life cycle 的图。

技术分享

值得注意的是

1. 在viewdidload 时,geometry并未最终确定(此时view 刚刚创建),这时若根据self.view.frame 设置subview 的geometry properties,可能最终显现的与想的不一样。这一点之前犯过一些错误,谨记。

2.在viewdidload 之前,outlet 并未set, 当用segue 转场时,若要设置outlet相关的properties,无效。

3. 只要geometry变化,viewWillLayoutSubviews 和 viewDidLayoutSubviews 就会调用(实际上self.view 在调用 layoutSubview之前,先调用viewWillLayoutSubviews,..之后,调用viewDidLayoutSubviews),在viewwillappear 和didappear 之间可能会调用多次.

一般在以上方法中需要做什么:

1. viewDidLoad

初始化设置view controller(如从本地或网络读取数据,),add gestures,增加subviews

不要再这里初始化任何geometry相关的内容,因为geometry未确定

2. viewwillappear, viewdidappear,viewwilldisappear,viewdiddisappear

增加和移除observer,

再viewdidappear 中不要再做改变ui相关的事情,否则app出现后,会有种卡顿的感觉。

?

?

?

iOS开发总结(A0)- ViewController Life Cycle 及主要阶段的任务

原文:http://www.cnblogs.com/beddup/p/4610917.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!