Diferencia entre addSubview y insertSubview en clase UIView
-
19-09-2019 - |
Pregunta
¿Cuál es la diferencia entre los métodos addSubview
y insertSubView
cuando se añade una vista mediante programación?
Solución
La única diferencia es en el que se añade la vista: si se trata de la vista del primer plano (addSubview:
), o que es antes de la quinta subvista, (insertSubview:atIndex:
) o si está inmediatamente detrás de otro subvista (insertSubview:aboveSubview:
)
Otros consejos
El uso de insertSubView:
puede especificar el índice, que determina el orden z de puntos de vista. Una vista con un mayor índice se encuentra por encima aquellos con los índices más bajos.
No creo que hay una diferencia. addSubview:
es simple un método conveniente para
[view insertSubview:aView atIndex:[view.subviews count]]
1.addSubview añadir subvista en matriz a continuación, añadir en View'slayer
- (void)addSubview:(UIView *)subview
{
[_subviews addObject:subview];
[_layer addSublayer:subview.layer];
}
}
2.While insertSubview añadir su opinión como subvista a continuación, llamar
[_layer insertSublayer:subview.layer atIndex:index];
- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index
{
[self addSubview:subview];
[_layer insertSublayer:subview.layer atIndex:index];
}