UIView和其子类的几个初始化函数执行的时机

-(id)initWithFrame:(CGRect)frame - UIView的指定初始化方法; 总是发送给UIView去初始化, 除非是从一个nib文件中加载的;

-(id)initWithCoder:(NSCoder *)coder - 从nib文件中加载的时候发送此消息给UIView;

-(void)awakeFromNib - 在所有的nib中的对象初始化和连接后将发送此消息; 只适用于从nib加载对象; 如要重写,其中还必须调用父类的awakeFromNib;

-(void)willMoveToSuperview:(UIView *)newSuperview - 在一个子视图将要被添加到另一个视图的时候发送此消息;

-(void)willMoveToWindow:(UIWindow *)newWindow - 在一个视图(或者它的超视图)将要被添加到window的时候发送;

-(void)didMoveToSuperview - 把一个视图插入到视图层级之后发送此消息;

-(void)didMoveToWindow - 当视图获得它的window属性集的时候发送此消息.

原文地址:https://www.cnblogs.com/shifenglin/p/5216018.html