2012-04-07 28 views
35

tutti.Come posso inserire una sottoview sotto le altre sottoview

Ho alcune etichette che li disegno nel file xib e aggiungere una vista di sfondo utilizzando i codici, ma la vista di sfondo è nella parte anteriore di queste etichette, quindi non riesco a vederli. Quindi, la mia domanda è come posso aggiungere una vista di sfondo sotto queste etichette .

Grazie in anticipo.

risposta

58

Se Google UIView vi ritroverete la documentazione - UIView Class Reference

allora avete bisogno di guardare in basso l'elenco dei metodi fino a trovare qualcosa che suona come sarà o meno adatta alle vostre esigenze come questi due:

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index 

e

- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview 

A questo punto non resta che leggere le descrizioni di come si comportano i metodi e scegliere quale sia il più semplice da implementare per la progettazione. È davvero buono per il tuo apprendimento se cerchi di trovare la risposta da solo prima di fare una domanda

+1

Grazie! Prima andrò su Google e troverò la risposta. Il tuo consiglio è utile. – jxdwinter

+4

Una volta che ci si abitua a guardare i documenti, troverete che le risposte sono molto più facili da trovare - è difficile sapere da dove iniziare con loro –

3

In IB le sottoview di una vista sono elencate in una gerarchia sotto quella vista. Le sotto-visualizzazioni che appaiono sopra i loro fratelli in quella gerarchia appariranno sotto di loro nella vista renderizzata. Nell'esempio seguente, l'etichetta 99:99 AM viene visualizzata sotto il pulsante Sign In in fase di esecuzione.

Se lo sfondo è solo UIImageView, è consigliabile aggiungere la vista al NIB e quindi impostare la relativa UIImage in fase di esecuzione. In questo modo, non ti confondi. Inoltre, what Paul.s said.

enter image description here

+1

L'OP sta parlando di aggiungere una vista nel codice al di fuori dello xib. –

+0

oooh hai ragione. Oh bene. – QED

+0

Bella spiegazione però :) –

1

Swift 3 e versioni successive.

view.insertSubview(theViewYouWantToAdd, at: 0) 
3

È possibile chiamare questo metodo in Swift 3

view.insertSubview(yourSubView, at: 0) 

o

view.sendSubview(toBack: yourSubView)