Quelle est la différence entre les méthodes addSubview
et insertSubView
lorsqu'une vue est ajoutée par programmation?Différence entre addSubview et insertSubview dans la classe UIView
77
A
Répondre
97
La seule différence est où la vue est ajoutée: que ce soit la vue en avant (addSubview:
), ou il est avant le 5 sous-vue, (insertSubview:atIndex:
) ou si elle est immédiatement derrière une autre sous-vue (insertSubview:aboveSubview:
).
42
En utilisant insertSubView:
, vous pouvez spécifier l'index, qui détermine l'ordre z des vues. Une vue avec un indice plus élevé se situe au-dessus de celles avec des indices inférieurs.
29
Je ne pense pas qu'il y ait une différence. addSubview:
est simple une méthode pratique pour
[view insertSubview:aView atIndex:[view.subviews count]]
0
1.addSubview ajouter dans le tableau sous-vue puis ajouter dans View'slayer
- (void)addSubview:(UIView *)subview
{
[_subviews addObject:subview];
[_layer addSublayer:subview.layer];
}
}
2.Tout insertSubview ajouter votre point de vue 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];
}
Merci, Je voulais y at-il une différence spécifique dans l'utilisation de ces deux fonctions –
Mis à part la différence spécifique que j'ai décrite dans ma réponse, il n'y en a pas . –