我有一个UIView
,其中包含UILabel
。我希望UIView具有白色背景颜色,但不透明度为50%。设置view.alpha = 0.5
的问题是标签的不透明度也是50%,所以我发现可能有UIView
白色背景颜色和不透明度(white_view) ,然后使用标签(label_view)另一个UIView
。然后通过执行以下操作将“white_view”添加到“label_view”:label_view.addSubview(white_view)
。这显然不起作用。我想这样做:label_view.backgroundView(white_view)
但您不能像UIView
那样在UICollectionView
上设置背景视图。
有没有人知道如何解决这个问题?
修改 因为几个答案大致相同,我会在这里输入。 现在我甚至尝试过这些:
label_view1.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5)
label_view1.addSubview(firstPlacelbl)
endGameView.addSubview(label_view1)
和
label_view1.backgroundColor = UIColor(white: 1, alpha: 0.5)
label_view1.addSubview(firstPlacelbl)
endGameView.addSubview(label_view1)
然而标签也受到alpha的影响,并且它的不透明度为50%。我不明白我做错了,因为我只将alpha颜色设置为0.5而不是标签。有什么想法吗?
答案 0 :(得分:126)
您可以使用alpha将视图的背景颜色设置为UIColor,而不会影响view.alpha
view?.backgroundColor = UIColor(white: 1, alpha: 0.5)
答案 1 :(得分:45)
设置视图的alpha
属性会影响其子视图。如果您只想将透明背景设置视图的backgroundColor
属性设置为alpha分量小于1的颜色。
view.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5)
答案 2 :(得分:25)
yourView.backgroundColor = UIColor.black.withAlphaComponent(0.5)
这适用于xcode 8.2。
它可能对你有帮助。
答案 3 :(得分:8)
答案 4 :(得分:1)
您发现的问题是view
与您的UIView
不同。 '视图'指的是整个视图。例如,您的主屏幕是一个视图。
您需要明确区分整个视图'你的' UIView'和你的' UILabel'
您可以通过转到故事板,单击项目,Identity Inspector以及更改Restoration ID
来完成此操作。
现在使用恢复ID
访问代码中的每个项目答案 5 :(得分:0)
在Swift中很简单。只需将此颜色放入背景视图颜色即可。
let dimAlphaRedColor = UIColor.redColor().colorWithAlphaComponent(0.7)
yourView.backGroundColor = dimAlphaRedColor
答案 6 :(得分:0)
问题很老,但似乎有些人也有同样的担忧。
您如何看待“ UIColor的alpha属性和Interface Builder的opacity属性在代码中的应用方式不同”的观点?
在Interface Builder中创建的两个视图最初是不同的颜色,但是当条件改变时必须是相同的颜色。 因此,我必须在代码中设置一个视图的背景色,并设置不同的值以使两个视图的背景色相同。
作为一个实际示例,Interface Builder的背景色为0x121212,不透明度值为80%(在 Amani Elsaed 的图像中::红色:18,绿色:18,蓝色:18,十六进制颜色号:[121212],不透明度:80), 在代码中,我将另一个视图的背景色设置为0x121212,alpha值为0.8。
self.myFuncView.backgroundColor = UIColor(red: 18, green: 18, blue: 18, alpha: 0.8)
扩展名是
extension UIColor {
convenience init(red: Int, green: Int, blue: Int, alpha: CGFloat = 1.0) {
self.init(red: CGFloat(red) / 255.0,
green: CGFloat(green) / 255.0,
blue: CGFloat(blue) / 255.0,
alpha: alpha)
}
}
但是,实际视图是
计算,
因此,我可以通过将UIColor值设置为17、17、17和alpha 0.8来类似地匹配颜色。
self.myFuncView.backgroundColor = UIColor(red: 17, green: 17, blue: 17, alpha: 0.8)
或者有人可以告诉我我想念的东西吗?