Was ist der Unterschied zwischen addSubview
und insertSubView
Methoden, wenn eine Ansicht programmgesteuert hinzugefügt wird?
Was ist der Unterschied zwischen addSubview
und insertSubView
Methoden, wenn eine Ansicht programmgesteuert hinzugefügt wird?
Antworten:
Der einzige Unterschied besteht darin, wo die Ansicht hinzugefügt wird: ob es sich um die vorderste Ansicht handelt ( addSubview:
) oder vor der 5. Unteransicht ( insertSubview:atIndex:
) oder ob sie sich unmittelbar hinter einer anderen Unteransicht befindet ( insertSubview:aboveSubview:
).
Mit können insertSubView:
Sie den Index angeben, der die Z-Reihenfolge der Ansichten bestimmt. Eine Ansicht mit einem höheren Index liegt über der mit niedrigeren Indizes.
1.addSubview fügt eine Unteransicht im Array hinzu und fügt sie dann in der Ansichtsschicht hinzu
- (void)addSubview:(UIView *)subview
{
[_subviews addObject:subview];
[_layer addSublayer:subview.layer];
}
}}
2.Während insertSubview Ihre Ansicht als Unteransicht hinzufügt, rufen Sie auf
[_layer insertSublayer:subview.layer atIndex:index];
- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index
{
[self addSubview:subview];
[_layer insertSublayer:subview.layer atIndex:index];
}