UILabel在50%的不透明度背景下(UIView?)100%不透明
所以现在我有一个UIView
在UILabel
中。 我希望背景具有不透明度<1.0,标签具有1.0的不透明度。 但是,由于alphas沿着视图层次传播,所以标签最终的透明度也是<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做到这一点:
- 在故事板中,select您想要编辑的视图;
- 从右侧面板中,确保“属性”检查器已打开;
- 点击“背景”下拉框的右侧,select“其他…”; 它会打开一个颜色select器对话框;
- 更改底部的“不透明度”以设置背景色不透明度。
你可以用半透明的颜色设置UIView
的背景颜色,或者使图像本身半透明。 这种方式是视图的属性是透明的,而不是视图本身。
你可以使用这个:
self.view.layer.opacity=0.5