有什么类似viewDidLoad
的UIViewController
了UIView
??? UIView
加载后(的子类UIView
),我需要立即得到通知,并执行一些操作。
Answers:
根据您需要执行哪种操作,有几种技术:
-(id)initWithFrame:(CGRect)frame
-UIView的指定初始化程序;除非视图是从笔尖加载的,否则总是发送到UIView进行初始化。-(id)initWithCoder:(NSCoder *)coder
-每当从笔尖加载视图时,总是发送以初始化UIView;-(void)awakeFromNib
-在笔尖中的所有对象初始化并连接后发送;仅当您从笔尖加载对象时才适用;你必须叫超级;-(void)willMoveToSuperview:(UIView *)newSuperview
-在将视图作为子视图添加到另一个视图之前立即发送;newSuperview
当您从视图的超级视图中删除视图时,它可能为零;-(void)willMoveToWindow:(UIWindow *)newWindow
-在将视图(或其父视图)添加到窗口之前立即发送;newWindow
当您从窗口中删除视图时,它可能为零;-(void)didMoveToSuperview
-在将视图插入视图层次结构后立即发送;-(void)didMoveToWindow
-在视图获得其window属性设置后立即发送。--基本上,您可以选择在初始化(1&2),从笔尖(3)加载,插入视图层次结构(4&5)以及之后(6&7)期间执行操作。
-(void)willMoveToSuperview:(UIView *)newSuperview
是解决我所有问题的良药,非常感谢!