objective-c iphone user-interface uilabel

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:

  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.

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.