2009-02-07 9 views
6

In cacao, in particolare l'iPhone SDK, la proprietà opaque è descritto come:Cocoa/iPhone: BackgroundColor e Proprietà opachi

Se opaca, l'operazione di disegno presuppone che la vista riempie i suoi limiti e possono trarre Più efficiente. I risultati sono imprevedibili se opaco e la vista non rientra nei suoi limiti. Impostare questa proprietà su NO se la vista è completamente o parzialmente trasparente.

Nella mia esperienza, se si dispone di una vista (etichetta, cella di una tabella, ecc) con backgroundColor set per [UIColor clearColor], fare non bisogno di impostare opaque-NO fino a quando appare correttamente (con una chiara sfondo).

Intuitivamente, fare ciò richiederebbe anche impostare opaco a NO, ma non ho mai incontrato problemi.

Potete mescolare opaco = SÌ e clearColor o sto vivendo in tempo prestato? Non sembra essere specificamente documentato da nessuna parte.

risposta

1

Provalo e vedi è l'unica via da seguire su iPhone, perché come dici tu, nonostante il volume della documentazione fornita con l'SDK, in molti casi non è molto specifico.

Per quanto riguarda l'opaco, questo è solo un suggerimento per il motore di compositing che dice che non ha bisogno di preoccuparsi di visualizzare i livelli coperti dallo strato opaco. Tuttavia, il compositing è fatto dal chip grafico sul telefono, quindi in molti casi non è più efficiente non disegnare la parte oscurata di un livello parzialmente oscurato, il che è molto probabilmente il motivo per cui non vedi che le cose si incasinano momento (cioè il cacao sta ignorando l'impostazione nei casi che hai provato). Per lo stesso motivo non si vede un miglioramento delle prestazioni dall'impostazione opaca al vero.

Quindi il mio consiglio sarebbe quello di continuare ad usare la proprietà opaca come dicono i documenti perché si sta rischiando un rendering buggy senza alcun beneficio reale.

Problemi correlati