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?
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.
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).