100%不透明度UILabel超过50%不透明背景(UIView?)

时间:2009-12-11 01:05:22

标签: objective-c iphone user-interface uilabel

所以我现在有一个UIView,其中包含UILabel。我希望背景具有不透明度< 1.0和标签的不透明度为1.0。然而,由于alphas沿着视图层次结构向下传播,因此标签最终具有不透明度< 1.0也是。

无论如何,如果不将UILabel作为另一个视图的子视图,我可以做我想做的事情吗?

4 个答案:

答案 0 :(得分:205)

只需将背景颜色设置为半透明:

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通常会有效。

答案 1 :(得分:13)

除了代码可用外,您还可以从iB轻松完成此操作:

  1. 在故事板中,选择您要编辑的视图;
  2. 在右侧面板中,确保已打开“属性”检查器;
  3. 点击"背景"的右侧下拉框并选择"其他...&#34 ;;它会打开一个颜色选择器对话框;
  4. 更改"不透明度"在底部设置背景颜色不透明度。

答案 2 :(得分:0)

您可以使用半透明颜色设置UIView的背景颜色,或使图像本身为半透明。这样,视图的属性是透明的,而不是视图本身。

答案 3 :(得分:-5)

您可以使用:

self.view.layer.opacity=0.5