Jaka jest różnica między metodami addSubview
i insertSubView
, gdy widok jest dodawany programowo?
86
Jedyna różnica polega na tym, gdzie widok jest dodawany: czy jest to widok na pierwszym planie ( addSubview:
), czy przed piątym widokiem podrzędnym ( insertSubview:atIndex:
), lub bezpośrednio za innym widokiem podrzędnym ( insertSubview:aboveSubview:
).
Za pomocą insertSubView:
możesz określić indeks, który określa kolejność widoków z. Widok z wyższym indeksem leży nad tymi z niższymi wskaźnikami.
Myślę, że nie ma różnicy.
addSubview:
to prosta, wygodna metodaźródło
1.addSubview dodaj subview w tablicy, a następnie dodaj w View'slayer
- (void)addSubview:(UIView *)subview { [_subviews addObject:subview]; [_layer addSublayer:subview.layer]; }
}
2. Podczas insertSubview dodaj swój widok jako subview, a następnie zadzwoń
[_layer insertSublayer:subview.layer atIndex:index];
- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index { [self addSubview:subview]; [_layer insertSublayer:subview.layer atIndex:index]; }
źródło