根据你需要执行的动作, 这里有几个方法:
-
-(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属性集的时候发送此消息.
基本上, 你能选择: 在你的视图初始化期间执行的动作 (1 & 2), 在从nib文件中加载的时候 (3), 在插入到视图层级之前 (4 & 5) 和 之后 (6 & 7).

本文详细介绍了UIView中的关键生命周期方法,包括初始化方法、加载nib文件的方法及视图层级变更的相关回调。这些方法对于理解视图的加载时机及其状态变化非常重要。

被折叠的 条评论
为什么被折叠?



