有没有类似于for a 的viewDidLoad
东西???我需要在加载(的子类)后立即收到通知,并执行一些操作。UIViewController
UIView
UIView
UIView
问问题
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 回答