J'ai un UIView
avec un UILabel
dedans. Je veux que UIView ait une couleur de fond blanche, mais avec une opacité de 50%. Le problème avec le paramètre view.alpha = 0.5
est que l'étiquette aura également une opacité de 50%. J'ai donc pensé qu'il serait peut-être possible d'avoir un UIView
avec une couleur de fond blanche et une opacité (white_view). et ensuite une autre UIView
avec l’étiquette (label_view). Ajoutez ensuite "white_view" à "label_view" en procédant comme suit: label_view.addSubview(white_view)
. Cela ne fonctionne apparemment pas. J'aimerais faire comme: label_view.backgroundView(white_view)
mais vous ne pouvez pas définir une vue d'arrière-plan sur un UIView
comme vous pouvez le faire dans un UICollectionView
par exemple.
Quelqu'un at-il une idée de la façon de résoudre ce problème?
EDIT Parce que plusieurs réponses sont approximativement les mêmes, je vais le taper ici. Maintenant, j'ai même essayé ceux-ci:
label_view1.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5)
label_view1.addSubview(firstPlacelbl)
endGameView.addSubview(label_view1)
et
label_view1.backgroundColor = UIColor(white: 1, alpha: 0.5)
label_view1.addSubview(firstPlacelbl)
endGameView.addSubview(label_view1)
Et pourtant, l'étiquette est également affectée par l'alpha et obtient une opacité de 50%. Je ne comprends pas ce que je fais mal parce que je règle uniquement les couleurs alpha à 0,5 et non les étiquettes. Des idées?
Vous pouvez définir la couleur d'arrière-plan de la vue sur UIColor avec alpha et ne pas affecter view.alpha view?.backgroundColor = UIColor(white: 1, alpha: 0.5)
.
La définition de la propriété alpha
d'une vue affecte ses sous-vues. Si vous voulez simplement que la propriété backgroundColor
de la vue d'ensemble d'arrière-plan transparent soit définie sur une couleur dont la composante alpha est inférieure à 1.
view.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5)
dans Swift 3.
yourView.backgroundColor = UIColor.black.withAlphaComponent(0.5)
Cela fonctionne pour moi dans xcode 8.2.
Cela peut vous aider.
Le problème que vous avez constaté est que view
est différent de votre UIView
. "vue" fait référence à la vue entière. Par exemple, votre écran d'accueil est une vue.
Vous devez clairement séparer la 'vue' entière de votre 'UIView' et de votre 'UILabel'
Vous pouvez y parvenir en accédant à votre scénario, en cliquant sur l'élément, Inspecteur de l'identité, et en modifiant le Restoration ID
.
Maintenant, pour accéder à chaque élément de votre code en utilisant l'ID de restauration
C'est simple dans Swift. il suffit de mettre cette couleur dans la couleur de votre vue d’arrière-plan et cela fonctionnera.
let dimAlphaRedColor = UIColor.redColor().colorWithAlphaComponent(0.7) yourView.backGroundColor = dimAlphaRedColor