View Controller 生命周期的各个方法的用法
来源:互联网 发布:oracle连接数据库很慢 编辑:程序博客网 时间:2024/05/18 01:37
- (void)awakeFromNib;
这个方法用的时候,outlet还没有连接起来,是view Controller刚从storyboard建的时候,没有完全建好,不过可能有一些事情要在这个方法里面完成,比如splitViewDelegate,需要在非常早期完成。
用这个的时候,ViewController已经完全好了,outlet也已经连接好了。但是还没有在屏幕上显示出来。
这个方法里面可以放很多设置的代码。
这个方法执行的时候,view的bounds还没有。先load,再appear嘛。哈
- (void)viewWillAppear:(BOOL)animated;
这个方法调用的时候,bounds已经有了。
你的视图只会loaded一次,但是会appear或者disappear很多次。所以不变的东西,放在viewDidLoad里面。和几何相关的,放在viewWillAppear里面。这点对项目的优化很重要的哦。。。哈哈
就好似顶层的view,旋转ipad什么的都需要改变顶层的view的大小,当一个view controller的生命周期到这里的时候,就可以在这里的最后时刻来调整view的排列或者几何特性。
这里也设置做一些lazy execution for performance.比如:需要按一个button,出现一个view什么的。
这里设置,开销很大。耗时很长的事情最好在viewWillAppear里另开一个线程运行,然后在view里面放一个小小的spinning wheel。
- (void)viewWillDisappear:(BOOL)animated
{
}
这个方法当然是要消失的时候啦。要消失的时候,还是记得现在的运行情况的。所以可以记得scroll的position啦。但是,不要在这个方法里面写太多的东西哦,app会崩溃的。
另开线程来处理任何UI的改变,或者如果是不怎么废资源的话就直接写入硬盘。
- (void)viewDidAppear:(BOOL)animated;
- (void)viewDidDisappear:(BOOL)animated;
will的did版本。
在view显示之后使用。
- (void)viewWillLayoutSubviews; did版本:- (void)viewDidLayoutSubviews;
在由frame的改变而触发输出subview之前,这个方法被调用
比如,在autorotation后,布局发生改变,此时可以设置subview的布局。
关于ratation的更多方法:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)anOrientation duration:(NSTimeInterval)seconds;
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOriention)orient duration:(NSTimeInterval)seconds;
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)anOrientation;
@property UIInterfaceOrientation interfaceOrientation;
生命周期里一个低内存的情况:
- (void)viewDidUnload
{
self.faceView = nil;
}
低内存的时候,系统会卸载你的view,将会把你的controller的view从内存中清除出去,也就是停止所有有strong指向的指针。
但是对应的viewController是不会从heap清除出去的。
但是,还是要把其他的outlet指针都设置为nil,因为,就怕其他的view有指向这个类型的strong指针,所以就不太一样了。所以要养成好习惯,把outlet型的指针设置为nil。
0 0
- View Controller 生命周期的各个方法的用法
- View Controller 生命周期的各个方法的用法
- View Controller 生命周期的各个方法的用法
- View Controller 生命周期的各个方法的用法
- View Controller 生命周期的各个方法的用法
- View Controller 生命周期的各个方法的用法
- View Controller 生命周期的各个方法的用法
- View Controller生命周期的各个方法的调用
- View Controller的生命周期
- View Controller 的生命周期
- View Controller的生命周期
- UI view controller的生命周期
- view和view controller的生命周期
- View的各个方法
- <mvc:view-controller />的用法
- View Controller 生命周期的…
- View Controller 生命周期的…
- ViewController生命周期的各个方法
- 交换瓶子(蓝桥杯)
- 利用junit对springMVC的Controller进行测试(转)
- 11g中的分区表及分区索引
- 银行不良资产活动相关对象大起底
- 程序员怎样高效学习英语?
- View Controller 生命周期的各个方法的用法
- 【项目实战】Java POI之Excel导出经典案例二
- Android IPC进程间通信(从应用层源码分)《二》
- jersey设置编码方式
- 十年工龄的程序员为你揭示最危害程序员职业生涯的三大观念
- 基频提取算法-YIN算法解析
- Android-- 封装Dialog,即自定义Dialog,使其满足各种dialog的样式要求
- tcp三次握手
- bash参数补全功能 -- complete