Set “opacidade” de um CGLayer antes de desenhar?
Pergunta
Eu tenho UIView subclasse - na verdade uma parte do enigma - com 2 CGLayer diferente inicializado em initWithFrame
. drawRect tenho de
Qual é a melhor (mais desempenho otimizado) maneira de fazer isso? Existe alguma CGLayer ou função CGContext que define algumas alfa antes de desenhar?
Solução
Defina a -opacity
da camada. Lembre-se que ajuste -opaque
da camada deve ser NO. O padrão é não, mas é comumente definida como YES por motivos de desempenho.
Se você já está fazendo -drawInContext:
, então você pode experimentar com CGContextSetAlpha()
. Em geral, porém, você não usar -drawRect:
e camadas ao mesmo tempo. Você costuma deixar tanto a vista ou as camadas fazer o desenho.