Diferença entre addSubview e insertSubview na classe UIView
-
19-09-2019 - |
Pergunta
Qual é a diferença entre os métodos addSubview
e insertSubView
quando uma exibição é adicionado programaticamente?
Solução
A única diferença está em que é adicionado o ponto de vista: se é a visão mais à frente (addSubview:
), ou seja, antes da 5ª subexibição, (insertSubview:atIndex:
) ou se é imediatamente atrás de outro subexibição (insertSubview:aboveSubview:
)
Outras dicas
Usando insertSubView:
você pode especificar o índice, que determina z-ordem de pontos de vista. Uma vista com um maior índice de mentiras acima aqueles com índices mais baixos.
Eu não acho que há uma diferença. addSubview:
é simples um método conveniente para
[view insertSubview:aView atIndex:[view.subviews count]]
1.addSubview add subexibição em ordem, em seguida, adicionar em View'slayer
- (void)addSubview:(UIView *)subview
{
[_subviews addObject:subview];
[_layer addSublayer:subview.layer];
}
}
2.While insertSubview adicionar sua visão como subexibição então chamada
[_layer insertSublayer:subview.layer atIndex:index];
- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index
{
[self addSubview:subview];
[_layer insertSublayer:subview.layer atIndex:index];
}