ios - Rápida opacidad del color de fondo UIView
swift alpha (6)
Tengo una
UIView
con una
UILabel
en ella.
Quiero que la UIView tenga color de fondo blanco, pero con una opacidad del 50%.
El problema con la configuración de
view.alpha = 0.5
es que la etiqueta también tendrá una opacidad del 50%, así que descubrí que quizás sería posible tener una
UIView
con color de fondo blanco y opacidad (white_view), y luego tener otra
UIView
con la etiqueta (label_view).
Luego agregue "white_view" a "label_view" haciendo esto:
label_view.addSubview(white_view)
.
Esto aparentemente no funciona.
Me gustaría hacer como:
label_view.backgroundView(white_view)
pero no puede establecer una vista de fondo en una
UIView
como puede hacer en una
UICollectionView
por ejemplo.
¿Alguien tiene alguna idea de cómo resolver esto?
EDITAR Debido a que varias respuestas son aproximadamente iguales, lo escribiré aquí. Ahora he probado incluso estos:
label_view1.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5)
label_view1.addSubview(firstPlacelbl)
endGameView.addSubview(label_view1)
y
label_view1.backgroundColor = UIColor(white: 1, alpha: 0.5)
label_view1.addSubview(firstPlacelbl)
endGameView.addSubview(label_view1)
Y aún así, la etiqueta también se ve afectada por el alfa, y obtiene una opacidad del 50%. No entiendo lo que hago mal porque solo configuro los colores alfa en 0.5 y no las etiquetas. ¿Algunas ideas?
El problema que ha encontrado es que la
view
es diferente de su
UIView
.
''vista'' se refiere a la vista completa.
Por ejemplo, su pantalla de inicio es una vista.
Debe separar claramente la ''vista'' completa de su ''UIView'' y su ''UILabel''
Puede lograr esto yendo a su guión gráfico, haciendo clic en el elemento, el Inspector de identidad y cambiando la
Restoration ID
.
Ahora para acceder a cada elemento en su código utilizando la ID de restauración
Es simple en Swift. simplemente coloque este color en su color de vista de fondo y funcionará.
let dimAlphaRedColor = UIColor.redColor().colorWithAlphaComponent(0.7) yourView.backGroundColor = dimAlphaRedColor
Establecer
alpha
propiedad
alpha
de una vista afecta sus subvistas.
Si solo desea un fondo transparente, establezca la propiedad
backgroundColor
la vista en un color que tenga un componente alfa más pequeño que 1.
view.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5)
Puede establecer el color de fondo de la vista en UIColor con alfa, y no afectar view.alpha
view?.backgroundColor = UIColor(white: 1, alpha: 0.5)
en Swift 3.0
yourView.backgroundColor = UIColor.black.withAlphaComponent(0.5)
Esto funciona para mí en xcode 8.2.
Puede ayudarte.