que framework iphone objective-c ios uiview

iphone - framework - uikit ios



UIView: opaco vs. alfa vs. opacidad (2)

¿Cómo funcionan el alpha opaque y la opacidad del fondo para un UIView y cuáles son las diferencias entre ellos?

UIView http://i.minus.com/jb2IP8TXbYTxKr.png


A la excelente answer de deanWombourne, vale la pena agregar que, a menos que no dibuje su propio contenido utilizando el método drawRect: la propiedad opaca no tiene ningún efecto.

El documento de Apple :

Solo necesita establecer un valor para la propiedad opaca en las subclases de UIView que dibujan su propio contenido utilizando el método drawRect :. La propiedad opaca no tiene ningún efecto en las clases proporcionadas por el sistema , como UIButton, UILabel, UITableViewCell, etc.

Si dibujas tu propio contenido, ten en cuenta que ese opaco es solo una pista

Esta propiedad proporciona una pista al sistema de dibujo sobre cómo debe tratar la vista.

y algunas pautas más del mismo documento de Apple:

Si la vista es opaca y no llena sus límites o contiene contenido total o parcialmente transparente, los resultados son impredecibles. Siempre debe establecer el valor de esta propiedad en NO si la vista es total o parcialmente transparente.


opaque medios opaque no dibujan nada debajo, incluso si eres transparente.

El alfa del color de fondo solo afecta la transparencia del color de fondo, y no cualquier otra cosa dibujada en la vista.

alpha afecta todo lo dibujado en la vista.

La propiedad opaca puede proporcionarle un aumento de velocidad: si sabe que su vista nunca tendrá transparencia, puede configurar esto en YES y cuando iOS lo visualice, puede optimizarlo y procesarlo más rápido. Si esto está configurado como NO iOS tendrá que combinar su vista con la vista de abajo, incluso si no contiene ninguna transparencia.

El alfa también afectará el alfa del color de fondo, es decir, si el color de fondo es 0.5 transparente y el alfa es también 0.5, esto tiene el efecto de hacer que la vista de fondo sea 0.25 (0.5 * 0.5).