Was ist der Unterschied zwischen den Methoden addSubview
und insertSubView
, wenn eine Ansicht programmgesteuert hinzugefügt wird?
Der einzige Unterschied besteht darin, wo die Ansicht hinzugefügt wird: ob es sich um die vorderste Ansicht handelt (addSubview:
), oder es ist vor dem 5. Untersicht, (insertSubview:atIndex:
) oder wenn es sich unmittelbar hinter einer anderen Unteransicht befindet (insertSubview:aboveSubview:
).
Mit insertSubView:
Sie können den Index angeben, der die Z-Reihenfolge der Ansichten bestimmt. Eine Ansicht mit einem höheren Index liegt über denen mit niedrigeren Indizes.
Ich glaube nicht, dass es einen Unterschied gibt. addSubview:
ist einfach eine bequeme Methode für
[view insertSubview:aView atIndex:[view.subviews count]]
1.addSubview füge Unteransicht in Array und dann in View'slayer hinzu
- (void)addSubview:(UIView *)subview
{
[_subviews addObject:subview];
[_layer addSublayer:subview.layer];
}
}
2.Während insertSubview Ihre Ansicht als Unteransicht hinzufügt, rufen Sie [_layer insertSublayer:subview.layer atIndex:index];
- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index
{
[self addSubview:subview];
[_layer insertSublayer:subview.layer atIndex:index];
}