UIView - Comment être averti lorsque la vue est chargée?
Y a-t-il quelque chose de similaire au viewDidLoad
de UIViewController
pour un UIView
??? Je dois être averti dès qu'un UIView
est chargé (sous-classe de UIView
) et effectuer certaines actions.
Selon le type d'actions que vous devez effectuer, il existe plusieurs techniques:
-(id)initWithFrame:(CGRect)frame
- Initialiseur désigné par UIView; toujours envoyé à une UIView pour l'initialiser, à moins que la vue ne soit chargée à partir d'une nib;-(id)initWithCoder:(NSCoder *)coder
- toujours envoyé pour initialiser une UIView chaque fois que la vue est chargée à partir d'une nib;-(void)awakeFromNib
- envoyé après que tous les objets de la plume sont initialisés et connectés; applicable uniquement si vous chargez l'objet à partir d'une plume; vous devez appeler super;-(void)willMoveToSuperview:(UIView *)newSuperview
- envoyée immédiatement avant l'ajout de la vue en tant que sous-vue à une autre vue;newSuperview
peut être nul lorsque vous supprimez la vue de sa vue d'ensemble;-(void)willMoveToWindow:(UIWindow *)newWindow
- envoyée immédiatement avant l'ajout de la vue (ou de sa vue d'ensemble) à une fenêtre;newWindow
peut être nul lorsque vous supprimez la vue d'une fenêtre;-(void)didMoveToSuperview
- envoyée immédiatement après l'insertion de la vue dans une hiérarchie de vues;-(void)didMoveToWindow
- envoyée immédiatement après que la vue a défini sa propriété de fenêtre. -
Fondamentalement, vous pouvez choisir d'effectuer vos actions lors de l'initialisation (1 & 2), après le chargement à partir d'une pointe (3), avant l'insertion dans une hiérarchie de vues (4 & 5) et après cela (6 & 7).