iphone - Diferencia entre addSubview e insertSubview en la clase UIView
(4)
¿Cuál es la diferencia entre los métodos addSubview
e insertSubView
cuando una vista se agrega programáticamente?
1.addSubview añade una subvista en un array y luego agrega View''slayer
- (void)addSubview:(UIView *)subview
{
[_subviews addObject:subview];
[_layer addSublayer:subview.layer];
}
}
2. Mientras insertSubview agrega su vista como subvista, llame a [_layer insertSublayer:subview.layer atIndex:index];
- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index
{
[self addSubview:subview];
[_layer insertSublayer:subview.layer atIndex:index];
}
La única diferencia radica en dónde se agrega la vista: si es la vista más insertSubview:atIndex:
( insertSubview:atIndex:
, o está antes de la 5ta subvista, ( insertSubview:atIndex:
o si está inmediatamente detrás de otra subvista ( insertSubview:aboveSubview:
.
No creo que haya una diferencia. addSubview:
es un método simple y conveniente para
[view insertSubview:aView atIndex:[view.subviews count]]
Usando insertSubView:
puede especificar el índice, que determina el orden z de las vistas. Una vista con un índice más alto se encuentra por encima de aquellos con índices más bajos.