Impostare “l'opacità” di un CGLayer prima di pareggio?
Domanda
Ho UIView sottoclasse - in realtà un pezzo di puzzle -. Con 2 diversi CGLayer inizializzato a initWithFrame
In drawRect devo fondere questo due strati , e la più alta dovuto alfa variabile a seconda del gioco logica.
Qual è la migliore (più prestazioni ottimizzate) modo per fare questo? C'è qualche CGLayer, o una funzione che imposta CGContext alcuni alfa prima di trarre?
Soluzione
Imposta la -opacity
dello strato. Ricordate che l'impostazione -opaque
del livello deve essere NO. Il valore predefinito è NO, ma è comunemente impostata su YES per motivi di prestazioni.
Se si sta già facendo -drawInContext:
, allora si può sperimentare con CGContextSetAlpha()
. In generale, però, non si utilizza -drawRect:
e layer allo stesso tempo. Di solito si lascia sia la vista o gli strati fanno del disegno.