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

Dev*_*Dev 55 iphone user-interface objective-c uilabel

所以现在我有一个UIViewUILabel它.我希望背景的不透明度<1.0,标签的不透明度为1.0.但是,由于alphas在视图层次结构中向下传播,因此标签最终的不透明度<1.0.

反正有没有做我想要的而不做UILabel另一个视图的子视图?

Ian*_*nry 206

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

view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
Run Code Online (Sandbox Code Playgroud)

或者,在Swift中:

view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.5)
Run Code Online (Sandbox Code Playgroud)

或者,Swift 3:

view.backgroundColor = UIColor.black.withAlphaComponent(0.5)
Run Code Online (Sandbox Code Playgroud)

请注意,在这种特殊情况下,UIColor(white: 0, alpha: 0.5)更简洁,但colorWithAlphaComponent一般会起作用.

  • 现在这太棒了!+1 (18认同)
  • 我同意那个 !太棒了!我不知道你能做到这一点. (2认同)

Ja͢*_*͢ck 13

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

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