对于viewDidLoad
,UIViewController
的{{1}}是否有类似内容?
我需要在UIView
加载(UIView
的子类)后立即收到通知,然后执行一些操作。
答案 0 :(得分:247)
根据您需要执行的操作类型,有以下几种方法:
-(id)initWithFrame:(CGRect)frame
- UIView被指定
初始化;总是发送到UIView来初始化它,除非
视图从笔尖加载; -(id)initWithCoder:(NSCoder *)coder
- 每当从笔尖加载视图时,总是发送初始化UIView; -(void)awakeFromNib
- 在笔尖中的所有对象初始化并连接后发送;仅适用于从笔尖加载对象的情况;你必须打电话给超级; -(void)willMoveToSuperview:(UIView *)newSuperview
- 在将视图作为子视图添加到另一个视图之前立即发送;从超级视图中删除视图时,newSuperview
可能为nil; -(void)willMoveToWindow:(UIWindow *)newWindow
- 在视图(或其超级视图)被添加到窗口之前立即发送;从窗口中删除视图时,newWindow
可能为nil; -(void)didMoveToSuperview
- 在视图插入视图层次结构后立即发送; -(void)didMoveToWindow
- 在视图获取其窗口属性后立即发送。 - 基本上,您可以选择在初始化(1& 2),从笔尖(3)加载之后,插入视图层次结构(4& 5)之前和之后(6& 7)执行操作)。