所以现在我有一个里面UIView
有一个UILabel
。我希望背景的不透明度 < 1.0,标签的不透明度为 1.0。然而,由于 alpha 沿视图层次结构向下传播,因此标签最终的不透明度也 < 1.0。
有没有做我想做的事而不制作UILabel
另一个视图的子视图?
所以现在我有一个里面UIView
有一个UILabel
。我希望背景的不透明度 < 1.0,标签的不透明度为 1.0。然而,由于 alpha 沿视图层次结构向下传播,因此标签最终的不透明度也 < 1.0。
有没有做我想做的事而不制作UILabel
另一个视图的子视图?
只需将背景颜色设置为半透明:
view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
或者,在 Swift 中:
view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.5)
或者,斯威夫特 3:
view.backgroundColor = UIColor.black.withAlphaComponent(0.5)
请注意,在这种特殊情况下,UIColor(white: 0, alpha: 0.5)
它更简洁,但colorWithAlphaComponent
通常可以使用。
除了可以在代码中使用之外,您还可以从 iB 轻松地做到这一点:
您可以UIView
使用半透明颜色设置背景颜色或使图像本身半透明。这样,它是透明的视图属性,而不是视图本身。
你可以使用这个:
self.view.layer.opacity=0.5