2009-10-05 11 views

Antwort

97

Der einzige Unterschied in ist, wo der Ansicht hinzugefügt wird: ob es die vorderste Ansicht ist (addSubview:), oder es ist vor dem 5. subview, (insertSubview:atIndex:) oder wenn es unmittelbar hinter einer anderen Unteransicht (insertSubview:aboveSubview:).

42

Mit insertSubView: können Sie den Index angeben, der die z-Reihenfolge der Ansichten bestimmt. Eine Ansicht mit einem höheren Index liegt über denen mit niedrigeren Indizes.

+0

Danke, Ich wollte, gibt es einen bestimmten Unterschied in der Verwendung dieser beiden Funktionen –

+1

Abgesehen von dem spezifischen Unterschied, den ich in meiner Antwort beschrieben, gibt es keine . –

29

Ich glaube nicht, dass es einen Unterschied gibt. addSubview: ist einfach eine bequeme Methode für

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

1.addSubview subview in Array fügen Sie dann in View'slayer hinzufügen

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

}

2.Während insertSubview Ihre Ansicht als Subview hinzufügen dann rufen [_layer insertSublayer:subview.layer atIndex:index];

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