UIView - 如何在加载视图时收到通知?

时间:2010-12-21 17:13:37

标签: ios objective-c iphone uiview viewdidload

对于viewDidLoadUIViewController的{​​{1}}是否有类似内容? 我需要在UIView加载(UIView的子类)后立即收到通知,然后执行一些操作。

1 个答案:

答案 0 :(得分:247)

根据您需要执行的操作类型,有以下几种方法:

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