objective c - 100% de opacidad UILabel sobre un fondo con 50% de opacidad(UIView?)
objective-c iphone (4)
Así que ahora tengo una UIView
con un UILabel
en ella. 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.
¿Hay alguna forma de hacer lo que quiero sin hacer que UILabel
una subvista de otra vista?
Además de estar disponible en código, también puedes hacerlo fácilmente desde iB:
- Dentro del guión gráfico, seleccione la vista que desea editar;
- Desde el panel derecho, asegúrese de que el inspector de Atributos esté abierto;
- Haga clic en el lado derecho del cuadro desplegable "Fondo" y elija "Otro ..."; abrirá un cuadro de diálogo selector de color;
- Cambia la "Opacidad" en la parte inferior para establecer la opacidad del color de fondo.
Puede establecer el color de fondo de 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.
Puedes usar esto:
self.view.layer.opacity=0.5
Simplemente configure el color de fondo para que sea 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
funcionará en general.