100% UILabel opacidad sobre un fondo opacidad al 50% (UIView?)
-
19-09-2019 - |
Pregunta
Así que ahora tengo una UIView
con un UILabel
en ella. I desea que el fondo tiene una opacidad <1,0 y la etiqueta para tener una opacidad de 1,0. Sin embargo, desde alfas se propagan por la jerarquía de vistas, la etiqueta termina con una opacidad <1.0 también.
¿Hay alguna forma de hacer lo que quiera sin que el UILabel
una vista secundaria de otra vista ??
Solución
Sólo hay que establecer el color de fondo para 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 caso particular, UIColor(white: 0, alpha: 0.5)
es más conciso, pero colorWithAlphaComponent
trabajará en general.
Otros consejos
Además de estar disponible en el código, puede hacer esto con bastante facilidad a partir del IB, así:
- En el guión gráfico, seleccione la vista que desea editar;
- En el panel derecho, asegúrese de que se abra el inspector de atributos;
- Haga clic en el lado derecho del "fondo" cuadro desplegable y elegir la opción "Otros ..."; se abrirá un cuadro de diálogo de selección de color;
- Cambie la "opacidad" en la parte inferior para ajustar la opacidad del color de fondo.
Puede configurar el color de fondo de la UIView
con un color semitransparente o hacer la propia imagen semitransparente. De esta manera es una propiedad de la opinión de que es transparente, no la vista en sí.
Puede utilizar esta:
self.view.layer.opacity=0.5