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)之前执行您的操作。