IOS-笔记10(View生命周期)
2015-08-21 10:37
351 查看
View Controller LifeCycle
在这个View准备好之后会调用viewDidLoad()方法,这时你的outlet什么的都已经初始化好了,通过复写这个方法来初始化你的View是很合适的,但是不要忘记调用一下super的这个方法,让它完成本来该完成的事情。需要注意的是,这时候View的几何位置并没有被设置,如果你想做一些和几何位置有关的事情,不要在这里做。在整个View的生命周期里,load只会出现一次。
当你的View即将出现在屏幕上时viewWillAppear()会被调用,这个方法在View的生命周期中会出现多次,每次View即将出现在屏幕上时都会调用这个方法。且这时几何位置已经确定了。
当你的View真的出现在屏幕上时,viewDidAppear()被调用。
view即将消失时有viewWillDisapper(),消失后有viewDidDisapper()。
当系统认为你的View的大小和位置改变时,会调用viewWillLayoutSubviews()和viewDidLayoutSubview(),如果你有什么需要手动重绘的工作,在这里完成,这个方法之所以叫这个奇怪的名字是因为这个方法的本意是重新排列这个View的子View。
在屏幕发生旋转时,一般都是自动操作的,当你想介入时也可以,使用viewWillTransitionToSize()方法
当系统内存不足时,会调用didReceiveMemoryWarning()在这里你可以将不需要的资源释放掉,将指向他们的指针设为nil即可。
awakeFromNib()这个发生的比viewWillAppear还要早,如果可以的话代码尽量不要放在这里,但是在设置自己位代理什么的时候放在这里是可以的。
过程基本是这样的:Instantiated,awakeFromNib,segue preparation happens,outlets get set,viewDidLoad。
和出现消失有关的四个方法,在View出现消失时都会被调用。其余的也会在相应的时候被重复调用。
在这个View准备好之后会调用viewDidLoad()方法,这时你的outlet什么的都已经初始化好了,通过复写这个方法来初始化你的View是很合适的,但是不要忘记调用一下super的这个方法,让它完成本来该完成的事情。需要注意的是,这时候View的几何位置并没有被设置,如果你想做一些和几何位置有关的事情,不要在这里做。在整个View的生命周期里,load只会出现一次。
当你的View即将出现在屏幕上时viewWillAppear()会被调用,这个方法在View的生命周期中会出现多次,每次View即将出现在屏幕上时都会调用这个方法。且这时几何位置已经确定了。
当你的View真的出现在屏幕上时,viewDidAppear()被调用。
view即将消失时有viewWillDisapper(),消失后有viewDidDisapper()。
当系统认为你的View的大小和位置改变时,会调用viewWillLayoutSubviews()和viewDidLayoutSubview(),如果你有什么需要手动重绘的工作,在这里完成,这个方法之所以叫这个奇怪的名字是因为这个方法的本意是重新排列这个View的子View。
在屏幕发生旋转时,一般都是自动操作的,当你想介入时也可以,使用viewWillTransitionToSize()方法
当系统内存不足时,会调用didReceiveMemoryWarning()在这里你可以将不需要的资源释放掉,将指向他们的指针设为nil即可。
awakeFromNib()这个发生的比viewWillAppear还要早,如果可以的话代码尽量不要放在这里,但是在设置自己位代理什么的时候放在这里是可以的。
过程基本是这样的:Instantiated,awakeFromNib,segue preparation happens,outlets get set,viewDidLoad。
和出现消失有关的四个方法,在View出现消失时都会被调用。其余的也会在相应的时候被重复调用。
相关文章推荐
- iOS开发 -- 音频的播放
- 存储一些iOS常用的资料
- iOS开发~CocoaPods使用详细说明
- ios 数组高级使用
- 阐明iOS证书和provision文件
- iOS ARC也会有内存泄露
- ios线程-GCD
- iOS 浅谈对MVC、传值、和沙盒机制的理解
- ios类别(category)不能添加成员变量但是可以添加属性的问题
- iOS学习——CoreGraphics简单绘图
- iOS 浅谈MVC设计模式及Controllers之间的传值方式
- iOS发展- backBarButtonItem 颜色/文字修改
- 【iOS程序启动与运转】- RunLoop个人小结
- iOS开发 -- 通知Notification
- 猫猫学iOS 之第一次打开Xcode_git配置,git简单学习
- 在xcode 6.4 中设置 ios应用的状态栏的风格
- iOS 9学习系列:如何使用ATS提高应用的安全性
- IOS Webview JS交互之事件拦截获取
- iOS-CoreLocation:无论你在哪里,我都要找到你!
- [iOS备忘录]使用蓝牙耳机headset录音