2009-08-13 11 views
6

Tengo una vista algo transparente (alpha = 0.6) que tiene algunas subvistas. Me gustaría que una de las subvistas (un UILabel) se dibuje con alfa de 1.0 porque la fusión hace que el texto sea difícil de leer, pero al agregarlo como una subvista de la vista principal, se adoptó el valor alfa de su padre. ¿Hay alguna manera de anular este comportamiento? Creo que tendré que eliminarlo de la subvista, pero quería preguntar y ver si me estoy perdiendo algo.¿Se puede anular el valor alfa de un padre UIView en una de sus subvistas?

Respuesta

2

Estás en la correcta. Tendrá que mover el UILabel fuera de la vista transparente para que se muestre como no transparente.

10

Otro enfoque que funcionó fácilmente es no modificar el canal alfa en la UIView. En su lugar, modifique la capa alfa en el objeto backgroundColor de UIView.

Por supuesto, esto depende de por qué hiciste transparente la capa alfa, pero funcionó bien para mis requisitos.

+0

¡Gracias! Su solución es mucho mejor que tener que crear otro contenedor. –

13

Brian tiene razón. Por ejemplo:

view.backgroundColor = [UIColor colorWithWhite:0 alpha:0.6]; 

hará un fondo Negro de la alfa 0,6 y no se verán afectados otros puntos de vista.

+0

gracias, está funcionando. – ViruMax

Cuestiones relacionadas