UIView – 如何获得视图加载通知?

有什么类似的UIViewUIViewControllerviewDidLoad ? 我需要在UIView加载( UIView子类)后立即得到通知,并执行一些操作。

根据你需要执行什么样的动作,有几种技术:

  1. -(id)initWithFrame:(CGRect)frame – UIView的指定初始化程序; 总是发送到一个UIView来初始化它,除非视图是从一个笔尖加载;
  2. -(id)initWithCoder:(NSCoder *)coder – 每当从一个nib加载视图时总是发送来初始化一个UIView;
  3. -(void)awakeFromNib – 在笔尖中的所有对象被初始化并连接之后发送; 仅适用于从笔尖加载对象的情况; 你必须叫超级;
  4. -(void)willMoveToSuperview:(UIView *)newSuperview – 在视图作为子视图添加到另一个视图之前立即发送; 当您从newSuperview视图中移除视图时, newSuperview可能为零;
  5. -(void)willMoveToWindow:(UIWindow *)newWindow – 在视图(或其-(void)willMoveToWindow:(UIWindow *)newWindow视图)被添加到窗口之前立即发送; 从窗口中删除视图时, newWindow可能为零;
  6. -(void)didMoveToSuperview – 在视图插入视图层次结构后立即发送;
  7. -(void)didMoveToWindow – 在视图获取其窗口属性集后立即发送。 –

基本上,可以select在初始化(1&2),从nib(3)加载之后,在插入到视图层次结构(4&5)之前和之后(6&7)之前执行您的操作。