2011-12-15 9 views

risposta

114

opaque mezzi non traggono nulla sotto, anche se si è trasparente.

L'alfa del colore di sfondo influisce solo sulla trasparenza del colore dello sfondo, non su qualsiasi altro disegno disegnato sulla vista.

alpha influisce su tutto ciò che viene visualizzato sulla vista.


La struttura opaca può dare un aumento di velocità - se si sa che la visuale si mai avere trasparenza è possibile impostare questa YES e quando iOS rende la visualizzazione è possibile effettuare alcune ottimizzazioni di prestazioni e renderlo Più veloce. Se è impostato su NO, iOS dovrà mescolare la vista con la vista sottostante, anche se non contiene alcuna trasparenza.

L'alfa influenzerà anche l'alfa del colore di sfondo, ad esempio se il colore di sfondo è 0,5 trasparente e l'alfa è anch'esso 0,5, questo ha l'effetto di rendere l'alfa 0,25 della vista di sfondo (0,5 * 0,5).

+0

+1 Ottima spiegazione. Grazie – Besi

+2

Penso che tu intenda che l'alfa del colore di sfondo è 0,25, non la vista di sfondo. Suppongo che la vista di sfondo e il colore di sfondo siano due cose diverse. – Philip007

+0

Intendo il componente alfa della proprietà 'backgroundColor' di 'UIView' di cui stiamo parlando :) Non ho affatto parlato di visualizzazioni nidificate! – deanWombourne

4

Per l'ottimo answer di deanWombourne vale la pena aggiungere che, a meno che non si disegna il proprio contenuto utilizzando il metodo drawRect:, la proprietà opaca non ha alcun effetto.

Apple's doc:

Hai solo bisogno di impostare un valore per la proprietà opaca in sottoclassi di UIView che disegnare i propri contenuti utilizzando il drawRect: metodo. La proprietà opaca non ha alcun effetto sulle classi fornite dal sistema come UIButton, UILabel, UITableViewCell e così via.

Se si disegna i propri contenuti, tenere a mente, che opaca è solo un accenno

Questa struttura fornisce un suggerimento al sistema di disegno quanto a come dovrebbe trattare il vista.

e alcune altre linee guida doc stessa Apple:

Se la vista è opaca ed è non riempie i suoi limiti o contiene totalmente o parzialmente contenuto trasparente, i risultati sono imprevedibili. È sempre necessario impostare il valore di questa proprietà su NO se la vista è completamente o parzialmente trasparente.

Problemi correlati