Quelle est la différence entre les méthodes addSubview
et insertSubView
lorsqu'une vue est ajoutée par programme?
86
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 avant la 5e sous-vue, ( insertSubview:atIndex:
) ou si elle est immédiatement derrière une autre sous-vue ( insertSubview:aboveSubview:
).
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.
Je ne pense pas qu'il y ait une différence.
addSubview:
est une méthode simple et pratique pourla source
1.addSubview ajouter une sous-vue dans le tableau puis ajouter dans la couche de vue
- (void)addSubview:(UIView *)subview { [_subviews addObject:subview]; [_layer addSublayer:subview.layer]; }
}
Pendant l'insertion, 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]; }
la source