Differenza tra addSubview e insertSubview in classe UIView
-
19-09-2019 - |
Domanda
Qual è la differenza tra i metodi addSubview
e insertSubView
quando si aggiunge una vista a livello di codice?
Soluzione
L'unica differenza è nel cui viene aggiunta la vista: se è la vista in primo piano (addSubview:
), oppure è prima del 5 ° visualizzazione secondaria, (insertSubview:atIndex:
) oppure se è subito dietro un'altra visualizzazione secondaria (insertSubview:aboveSubview:
)
Altri suggerimenti
Usando insertSubView:
è possibile specificare l'indice, che determina ordine z di opinioni. Una vista con un indice maggiore sovrastante quelli con indici inferiori.
Non credo che ci sia una differenza. addSubview:
è semplice un metodo conveniente per
[view insertSubview:aView atIndex:[view.subviews count]]
1.addSubview aggiungere visualizzazione secondaria in serie quindi aggiungere in View'slayer
- (void)addSubview:(UIView *)subview
{
[_subviews addObject:subview];
[_layer addSublayer:subview.layer];
}
}
2.Mentre insertSubview aggiungere la visualizzazione come visualizzazione secondaria quindi chiamare
[_layer insertSublayer:subview.layer atIndex:index];
- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index
{
[self addSubview:subview];
[_layer insertSublayer:subview.layer atIndex:index];
}