UIView – 如何获得视图加载通知?
有什么类似的UIView的UIViewController的viewDidLoad ? 我需要在UIView加载( UIView子类)后立即得到通知,并执行一些操作。
根据你需要执行什么样的动作,有几种技术:
-
-(id)initWithFrame:(CGRect)frame– UIView的指定初始化程序; 总是发送到一个UIView来初始化它,除非视图是从一个笔尖加载; -
-(id)initWithCoder:(NSCoder *)coder– 每当从一个nib加载视图时总是发送来初始化一个UIView; -
-(void)awakeFromNib– 在笔尖中的所有对象被初始化并连接之后发送; 仅适用于从笔尖加载对象的情况; 你必须叫超级; -
-(void)willMoveToSuperview:(UIView *)newSuperview– 在视图作为子视图添加到另一个视图之前立即发送; 当您从newSuperview视图中移除视图时,newSuperview可能为零; -
-(void)willMoveToWindow:(UIWindow *)newWindow– 在视图(或其-(void)willMoveToWindow:(UIWindow *)newWindow视图)被添加到窗口之前立即发送; 从窗口中删除视图时,newWindow可能为零; -
-(void)didMoveToSuperview– 在视图插入视图层次结构后立即发送; -
-(void)didMoveToWindow– 在视图获取其窗口属性集后立即发送。 –
基本上,可以select在初始化(1&2),从nib(3)加载之后,在插入到视图层次结构(4&5)之前和之后(6&7)之前执行您的操作。