web-dev-qa-db-fra.com

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.

75
aryaxt

Selon le type d'actions que vous devez effectuer, il existe plusieurs techniques:

  1. -(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;
  2. -(id)initWithCoder:(NSCoder *)coder - toujours envoyé pour initialiser une UIView chaque fois que la vue est chargée à partir d'une nib;
  3. -(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;
  4. -(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;
  5. -(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;
  6. -(void)didMoveToSuperview - envoyée immédiatement après l'insertion de la vue dans une hiérarchie de vues;
  7. -(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).

250
Costique