¿Hay algo similar al viewDidLoad
de UIViewController
para UIView
??? Necesito que se me notifique tan pronto como se UIView
haya cargado (Subclase de UIView
) y realizar algunas acciones.
Respuestas:
Según el tipo de acciones que deba realizar, existen varias técnicas:
-(id)initWithFrame:(CGRect)frame
- Inicializador designado de UIView; siempre se envía a una UIView para inicializarla, a menos que la vista se cargue desde una plumilla;-(id)initWithCoder:(NSCoder *)coder
- siempre se envía para inicializar una UIView siempre que la vista se carga desde una plumilla;-(void)awakeFromNib
- enviado después de que todos los objetos en la plumilla estén inicializados y conectados; aplicable solo si carga el objeto desde una plumilla; debes llamar super;-(void)willMoveToSuperview:(UIView *)newSuperview
- enviado inmediatamente antes de que la vista se agregue como una subvista a otra vista; newSuperview
puede ser nulo cuando quita la vista de su supervista;-(void)willMoveToWindow:(UIWindow *)newWindow
- enviado inmediatamente antes de que la vista (o su supervista) se agregue a una ventana; newWindow
puede ser nulo cuando quita la vista de una ventana;-(void)didMoveToSuperview
- enviado inmediatamente después de que la vista se inserta en una jerarquía de vista;-(void)didMoveToWindow
- enviado inmediatamente después de que la vista obtiene su propiedad de ventana establecida. -Básicamente, puede optar por realizar sus acciones durante la inicialización (1 y 2), después de cargar desde una punta (3), antes de la inserción en una jerarquía de vista (4 y 5) y después de eso (6 y 7).
-(void)willMoveToSuperview:(UIView *)newSuperview
fue la cura a todos mis problemas, muchas gracias!