87 votes

Différence entre addSubview et insertSubview dans la classe UIView

Quelle est la différence entre addSubview y insertSubView lorsqu'une vue est ajoutée par programme ?

104voto

mahboudz Points 23653

La seule différence réside dans l'endroit où la vue est ajoutée : s'il s'agit de la vue la plus en avant ( addSubview: ), ou bien il se trouve avant le 5e sous-registre ( insertSubview:atIndex: ) ou si elle se trouve immédiatement derrière une autre vue secondaire ( insertSubview:aboveSubview: ).

47voto

Nikolai Ruhe Points 45433

Utilisation insertSubView: vous pouvez spécifier l'index, qui détermine l'ordre z des vues. Une vue ayant un indice supérieur se trouve au-dessus de celles ayant un indice inférieur.

0 votes

Merci, je voulais savoir s'il existe une différence spécifique dans l'utilisation de ces deux fonctions.

1 votes

Hormis la différence spécifique que j'ai décrite dans ma réponse, il n'y en a aucune.

29voto

sliver Points 1084

Je ne pense pas qu'il y ait de différence. addSubview: est une méthode simple et pratique pour

[view insertSubview:aView atIndex:[view.subviews count]]

-1voto

user2369870 Points 1

1.addSubview ajouter la sous-vue dans le tableau puis l'ajouter dans View'slayer

- (void)addSubview:(UIView *)subview
{
    [_subviews addObject:subview];
    [_layer addSublayer:subview.layer];
}

}

2. lors de l'insertion d'une sous-vue, ajoutez votre vue en tant que sous-vue, puis appelez [_layer insertSublayer:subview.layer atIndex:index];

- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index
{
  [self addSubview:subview];
  [_layer insertSublayer:subview.layer atIndex:index];
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X