2009-12-11 22 views
52

Así que ahora tengo un UIView con un UILabel en él. Quiero que el fondo tenga una opacidad < 1.0 y que la etiqueta tenga una opacidad de 1.0. Sin embargo, como alphas se propagan hacia abajo en la jerarquía de vista, la etiqueta también termina con una opacidad < 1.0.Opacidad del 100% UILabel sobre un fondo de opacidad del 50% (UIView?)

¿De todos modos hay que hacer lo que quiero sin hacer que la UILabel sea una subvista de otra vista?

+0

¿Por qué no quieres agregar otra vista? Creo que esta debería ser la manera correcta. –

Respuesta

196

Sólo tienes que configurar el color de fondo a ser semitransparente:

view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f]; 

O, en Swift:

view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.5) 

O, Swift 3:

view.backgroundColor = UIColor.black.withAlphaComponent(0.5) 

Tenga en cuenta que, en este particular, case, UIColor(white: 0, alpha: 0.5) es más conciso, pero colorWithAlphaComponent funcionará en general.

+18

¡Ahora ESTO es asombroso! +1 –

+2

¡En segundo lugar! Increíble ! No tenía idea de que pudieras hacer eso. –

+0

SWIFT: view.backgroundColor = UIColor.blackColor(). ColorWithAlphaComponent (0.5) – budidino

0

Puede establecer el color de fondo del UIView con un color semitransparente o hacer que la imagen sea semitransparente. De esta manera, es una propiedad de la vista que es transparente, no la vista en sí misma.

-7

Puede utilizar esta:

self.view.layer.opacity=0.5 
+2

Esto no hace lo que el afiche quiere. Esto establece la opacidad para el texto de la etiqueta y el fondo. – RajV

12

Además de estar disponible en el código, puede hacer esto con bastante facilidad a partir del IB, así:

  1. Dentro del guión gráfico, seleccione la vista que desea editar ;
  2. Desde el panel derecho, asegúrese de que el inspector de atributos esté abierto;
  3. Haga clic en el lado derecho del cuadro desplegable "Fondo" y elija "Otro ..."; abrirá un cuadro de diálogo selector de color;
  4. Cambia la "Opacidad" en la parte inferior para establecer la opacidad del color de fondo.
Cuestiones relacionadas