2009-10-05 14 views

risposta

97

L'unica differenza è nel cui viene aggiunta la vista: se è la vista in primo piano (addSubview:), oppure è entro il 5 visualizzazione secondaria, (insertSubview:atIndex:) o se non é immediatamente dietro un'altra sottoview (insertSubview:aboveSubview:).

42

Utilizzando insertSubView: è possibile specificare l'indice, che determina l'ordine z delle viste. Una vista con un indice superiore si trova sopra a quelli con indici più bassi.

+0

Grazie, Volevo che ci fossero differenze specifiche negli usi di queste due funzioni –

+1

A parte la differenza specifica che ho descritto nella mia risposta, non c'è nessuno . –

29

Non penso che ci sia una differenza. addSubview: è semplice un metodo conveniente per

[view insertSubview:aView atIndex:[view.subviews count]] 
0

1.addSubview aggiungere visualizzazione secondaria in serie poi 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]; 
} 
Problemi correlati