UIView – Comment être notifié lorsque la vue est chargée?

Y at-il quelque chose de similaire à viewDidLoad de UIViewController pour un UIView ??? Je dois être averti dès qu'un UIView est chargé (Sous-class de UIView ), et effectuer quelques actions.

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

  1. -(id)initWithFrame:(CGRect)frame – l'initialisateur désigné par UIView; toujours envoyé à un UIView pour l'initialiser, sauf si la vue est chargée à partir d'une plume;
  2. -(id)initWithCoder:(NSCoder *)coder – toujours envoyé pour initialiser un UIView chaque fois que la vue est chargée à partir d'une plume;
  3. -(void)awakeFromNib – envoyé après que tous les objects de la plume sont initialisés et connectés; applicable uniquement si vous chargez l'object à partir d'une plume; vous devez appeler super;
  4. -(void)willMoveToSuperview:(UIView *)newSuperview – envoyé immédiatement avant que la vue soit ajoutée en tant que sous-vue à une autre vue; newSuperview peut être nul lorsque vous supprimez la vue de sa vue d'set;
  5. -(void)willMoveToWindow:(UIWindow *)newWindow – envoyé immédiatement avant que la vue (ou sa vue d'set) ne soit ajoutée à une window; newWindow peut être nul lorsque vous supprimez la vue d'une window;
  6. -(void)didMoveToSuperview – envoyé immédiatement après l'insertion de la vue dans une hiérarchie de vues;
  7. -(void)didMoveToWindow – envoyé immédiatement après que la vue ait sa propriété window. –

Fondamentalement, vous pouvez choisir d'effectuer vos actions pendant l'initialisation (1 & 2), après le chargement d'une plume (3), avant l'insertion dans une hiérarchie de vue (4 & 5) et après cela (6 & 7).