initWithFrame,initWithCoder,awakeFromNib的区别

这三个都是系统初始化视图时会调用的方法。

initWithFrame主要用在非xib创建的视图

initWithCoder和awakeFromNib主要用在xib创建的视图    两个调用的先后顺序是initWithCoder->awakeFromNib.

initWithCoder和awakeFromNib这两个方法的区别:initWithCoder只是把子视图加载到视图层级中,但是还没有引用。如果要操作子视图的话,需要在awakeFromNib里面。比如


其中redView是视图中的子视图,可以看到在initWithCoder中无法获取位置信息,只有在awakeFromNib中可以获取到。

猜你喜欢

转载自blog.csdn.net/oik_ios/article/details/79543033