Is there anything similar to the viewDidLoad of UIViewController for a UIView???
I need to be notified as soon as a UIView has loaded (Subclass of UIView), and perform some actions.
Costique
Depending on what kind of actions you need to perform, there are several techniques:
-(id)initWithFrame:(CGRect)frame- UIView's designated initializer; always sent to a UIView to initialize it, unless the view is loaded from a nib;-(id)initWithCoder:(NSCoder *)coder- always sent to initialize a UIView whenever the view is loaded from a nib;-(void)awakeFromNib- sent after all the objects in the nib are initialized and connected; applicable only if you load the object from a nib; you must call super;-(void)willMoveToSuperview:(UIView *)newSuperview- sent immediately before the view is added as a subview to another view;newSuperviewmay be nil when you remove the view from its superview;-(void)willMoveToWindow:(UIWindow *)newWindow- sent immediately before the view (or its superview) is added to a window;newWindowmay be nil when you remove the view from a window;-(void)didMoveToSuperview- sent immediately after the view is inserted into a view hierarchy;-(void)didMoveToWindow- sent immediately after the view gets its window property set. -
Basically, you can choose to perform your actions during initialization (1 & 2), after loading from a nib (3), before insertion into a view hierarchy (4 & 5) and after that (6 & 7).
来源:https://stackoverflow.com/questions/4501974/uiview-how-to-get-notified-when-the-view-is-loaded