View Controller 生命周期
来源:互联网 发布:java sun认证 怎么考 编辑:程序博客网 时间:2024/05/21 09:08
在Srotyboard里面放置任何控件时,其实是把它冷冻起来,
当ViewController需要使用时才会解冻
怎么解冻呢?它会调用 -(void) awakeFromNib
- -(void) viewDidLoad
ViewController在初始化时,生成完所有控件之后会调用viewDidLoad,
只会调用一次,但是有些东西是不能在viewDidLoad上面执行的,
尤其是跟bounds、size、point有关系的,
因为这时候边界可能还没确定,它有可能还在srotyboard里面,
还没加载完成,所以千万不要在viewDidLoad里面添加跟视图形状有关的初始化信息 - -(void) viewWillAppear:(BOOL)animated
在屏幕即将出现时,会执行此方法
千万不要在这里加一次性初始化的东西,因为ViewController常常会交互消失,
这个方法会被调用很多次,当ViewController重新出现在画面上的时候,
这个方法就会被调用,只有在Model需要被同步数据的时候才需要使用这个方法 - -(void) viewWillDisappear:(BOOL)animated
在视图要消失的时候会调用这个方法
可以在这里做停止timer之类的事情,让一些东西不占用资源可以在可以写,
当你从屏幕上消失后,就要保持低调XD
那…几何初始化、控件位置应该写在哪里呢?????
ios6以后出现了两种方法
-(void) viewWillLayoutSubviews;
-(void) viewDidLayoutSubviews;
应该要把跟几何相关的代码写在这里,
当转动屏幕的时候,它会试著使用这些方法去改变size、point,
尤其是有时候你不知道autolayout会把控件移动到什么位置,
但是又很想要手动改变它的座标,
viewDidLayoutSubviews是很适合写代码的地方,
因为这时候系统已经全部布局完成了
总结一下ViewController生命周期,如下图
1-1.从storyboard中进行实体化
如果是透过storyboard生成,就会调用awakeFromNib
1-2 [[xxx alloc] initWithNibName:bundle:]
2. 如果storyboard里面有设置IBOutlet的话, vidwDidLoad就会载入
3. storyboard里面的几何设置都设置完毕之后,
就会调用viewWillLayoutSubviews、viewDidLayoutSubviews
4. viewWillAppear
5.Controller里面几何有变化时,会再次调用
viewWillLayoutSubviews、viewDidLayoutSubviews
6. viewController从屏幕上面离开的时候
viewWillDisappear
7.在执行以上流程时,中间出现内存不足的情况时,就会调用
didReceiveMemoryWarning
0 0
- iphone view Controller 生命周期
- View Controller的生命周期
- View Controller 生命周期总结
- View Controller 的生命周期
- View Controller 生命周期
- View Controller的生命周期
- iOS view controller 生命周期
- UI view controller的生命周期
- view和view controller的生命周期
- MonoRail - 生命周期及controller/action/view详解
- View Controller 生命周期的…
- View Controller 生命周期的…
- View Controller 生命周期的各个方法的用法
- iOS学习笔记02—View Controller的生命周期
- iOS学习笔记02—View Controller的生命周期
- View Controller 生命周期的各个方法的用法
- View Controller 生命周期的各个方法的用法
- iOS7应用开发5、视图控制器View Controller及其生命周期
- 1009 数字1的数量
- 机器学习算法与Python实践之(三)支持向量机(SVM)进阶
- Remove Element
- Problem A: Median Value
- 【leetcode】Product of Array Except Self
- View Controller 生命周期
- 课程笔记 06:数据结构(清华) 列表-节点
- JS正则替换掉小括号及内容
- 简单问题的八种排序方法
- 数列有序
- 调用淘宝ip库解析ip
- IOS基本数据类型的包装类
- 如何在虚拟机中安装linux系统
- Codeforces Round #311 (Div. 2) D