La proprietà opaque
di un UIView è sempre impostata su "SÌ". Ma il riferimento alla classe UIView lo dice:Proprietà opaca UIView
Si prevede che una vista opaca riempi i limiti con un contenuto completamente opaco, ovvero il contenuto dovrebbe avere un valore alfa di 1.0. Se la vista è opaca e non riempie i suoi limiti o contiene contenuti interamente o parzialmente trasparenti, i risultati sono imprevedibili.
Dal cambiando la alpha
di vista è abbastanza comune, soprattutto durante le transizioni o animazioni, quindi la dichiarazione di cui sopra implica che si deve sempre impostare manualmente opaque
-NO
se avete intenzione di modificare la proprietà alpha
pure.
Ma non ho mai regolato manualmente opaque
e non ho avuto alcun sintomo evidente. Quanto è necessario fare questa considerazione?
Ma questo non risponde alla domanda ... come @andrewx ha detto: Se si ignorano i documenti e si usano le aree trasparenti con 'opacity = SÌ' tutto sembra andare bene. Oltre al fatto che i documenti sarebbero sbagliati, l'ottimizzazione basata sul valore della proprietà descritto nella documentazione (non pubblicata) sembra non aver luogo affatto. O se lo fa, non è propriamente descritto dai documenti. Domanda per me è: dovrei prendermi cura della proprietà e se sì perché? Prestazione? Potrebbe esserci un cattivo rendering se non lo faccio? Qualche esperienza a qualcuno? Riproducibile? –
Sono d'accordo, questo è ancora irrisolto per me. se iOS è abbastanza intelligente da ignorare la proprietà opaca, allora qual è lo scopo di questa proprietà per cominciare? – johnbakers
@rob mayoff Grazie per la modifica. Ho fatto alcuni test in quest'ultima ora e ho osservato esattamente quello che descrivi.Ho un'app con una schermata a scorrimento a schermo intero che contiene scorecollari più piccoli come linee, ciascuna contenente molte sottoview, con molte sottoview con sfondi trasparenti e persino ombre esterne. Abbiamo riscontrato alcuni problemi di prestazioni con lo scorrimento, abbiamo risolto eliminando la trasparenza e le ombre. Tuttavia, per i miei test ora ho attivato/disattivato la trasparenza, le ombre e la proprietà opaca: in nessuna configurazione il cambiamento del puntello opaco ha avuto alcun effetto sul corretto rendering, prestazioni o utilizzo della memoria. –