有没有类似于for a 的viewDidLoad东西???我需要在加载(的子类)后立即收到通知,并执行一些操作。UIViewControllerUIViewUIViewUIView
38217 次
1 回答
274
根据您需要执行的操作类型,有几种技术:
-(id)initWithFrame:(CGRect)frame- UIView 的指定初始化器;总是发送到 UIView 来初始化它,除非视图是从 nib 加载的;-(id)initWithCoder:(NSCoder *)coder- 每当从 nib 加载视图时,总是发送来初始化 UIView;-(void)awakeFromNib- 在 nib 中的所有对象都初始化并连接后发送;仅当您从笔尖加载对象时才适用;你必须打电话给超级;-(void)willMoveToSuperview:(UIView *)newSuperview- 在视图作为子视图添加到另一个视图之前立即发送;newSuperview当您从其父视图中删除视图时,可能为 nil;-(void)willMoveToWindow:(UIWindow *)newWindow- 在视图(或其父视图)添加到窗口之前立即发送;newWindow当您从窗口中移除视图时,可能为 nil;-(void)didMoveToSuperview- 在视图插入视图层次结构后立即发送;-(void)didMoveToWindow- 在视图设置其窗口属性后立即发送。-
基本上,您可以选择在初始化期间(1 和 2)、从 nib 加载之后(3)、插入视图层次结构之前(4 和 5)以及之后(6 和 7)执行您的操作。
于 2010-12-21T18:44:34.827 回答