码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-06-30 17:57:06      阅读:149      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!