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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (11)

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

提问于
用户回答回答于

根据需要执行的操作类型,有以下几种技术:

  1. -(id)initWithFrame:(CGRect)frame-UIView的指定初始化程序;除非视图是从NIB加载的,否则总是发送到UIView来初始化它;
  2. -(id)initWithCoder:(NSCoder *)coder-每当从NIB加载视图时,总是发送来初始化UIView;
  3. -(void)awakeFromNib-在NIB中的所有对象初始化和连接之后发送;只有在从NIB加载对象时才适用;必须调用Super;
  4. -(void)willMoveToSuperview:(UIView *)newSuperview-在紧接该视图作为子视图添加到另一个视图之前发送;newSuperview当您将视图从其SuperView中移除时,可能为零;
  5. -(void)willMoveToWindow:(UIWindow *)newWindow-在将视图(或其SuperView)添加到窗口之前立即发送;newWindow当您从窗口移除视图时,可能为零;
  6. -(void)didMoveToSuperview-在视图插入视图层次结构后立即发送;
  7. -(void)didMoveToWindow-在视图获得其窗口属性设置后立即发送。

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

扫码关注云+社区