所以现在我有一个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)
或者,Swift 3:
view.backgroundColor = UIColor.black.withAlphaComponent(0.5)
请注意,在这个特定的例子中,UIColor(white: 0, alpha: 0.5)
更简洁,但colorWithAlphaComponent
通常适用.