【问题标题】:Set the background of UILabel to transparent black设置UILabel的背景为透明黑色
【发布时间】:2017-04-13 05:34:09
【问题描述】:

我有一个 UILabel,我想将其背景设置为带有 alpha 分量的黑色,以便此标签可以具有透明的黑色背景。

在情节提要中,当我使用 alpha 组件将背景设置为我想要的颜色时,即使是白色标签的文本也会随着 alpha 组件变得更亮。

为了克服这个问题,我将标签嵌入到 UIView 中,即使这样,同样的问题仍然存在。

我该如何克服这个问题。任何帮助将不胜感激。

【问题讨论】:

  • myLabel.backgroundColor = UIColor.black.withAlphaComponent(0)
  • Don't set alpha form Storyboard set Label's color and alpha using coding。这不适用于标签的文本。 lbl.backgroundColor = [UIColor colorWithRed:100/225.0 green:100.0/255.0 blue:100.0/255.0 alpha:.7];

标签: ios swift swift3 storyboard uilabel


【解决方案1】:

您只能使用标签使 IBObject 成为写下一行。

label.backgroundColor = UIColor.black.withAlphaComponent(0.4)

【讨论】:

    【解决方案2】:

    不要更改 alpha 值,而是更改故事板中标签背景颜色的不透明度。

    为了更好的理解,我取了一个 imageView 并在 imageView 的底部放置了一个标签,并将标签和 textColor 的背景颜色更改为白色。在这个阶段你看不到标签后面的图像。

    现在,转到属性检查器并选择标签背景颜色。在那里你可以看到不透明度并改变它的价值。这里我设置了 50%,你可以将其更改为 0 到 100 之间的任何值,直到获得所需的透明度。

    【讨论】:

    • @KishoreKumar 是的,这是让您的视图透明而不影响子视图的简单有效的方法。但我认为通过代码是不可能的......
    【解决方案3】:

    创建具有黑色背景颜色的 UIview 并在视图内添加 UIlabel 并将 alpha 设置为 view 的 0.5。最后你得到黑色透明,例如

    如果您需要以粗体显示的标签文本,请更改视图层次结构

    放置 UILabel 拳头,然后添加 UIView。

    【讨论】:

      【解决方案4】:

      UILabel放在UIView上方,而不是在里面。

      【讨论】:

        【解决方案5】:

        假设我们正在谈论 v1 包含您的 label 的视图,如果 v1 超过另一个具有 鲜艳颜色的视图,那么当您的v1's alpha get lower your label 白色文字颜色会变得更难看,文字颜色与背景 alpha 分量无关,所以你需要重新考虑使用白色或alpha component 背景或v1 背后的视图让它变得更暗,这就是我们所能说的

        【讨论】:

          猜你喜欢
          • 2011-04-14
          • 2012-02-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-22
          • 2012-06-26
          • 2015-07-04
          相关资源
          最近更新 更多