Swift UIView Opacity以编程方式

时间:2016-11-03 15:19:59

标签: ios swift uiview opacity

我很难弄乱UIView的属性,以编程方式实现所需的不透明外观,可以通过Storyboard和Attributes Inspector轻松完成。

我想重新创建的内容(属性检查器的设置): 一个UIView的背景颜色为(RGB Sliders:0,0,0),Opacity Slider设置为75%,alpha默认为1.所以基本上黑色UIView的不透明度降低了。

我以编程方式尝试过:

1)  view.backgroundColor = .black
    view.alpha = 0.75

2)  view.backgroundColor = UIColor.black.withAlphaComponent(0.75)
    view.isOpaque = true

附件是在故事板中选择的UIView的图片,其中包含您可以看到的设置。如果您需要更多信息,请随时告诉我。非常感谢你的帮助。

Screenshot of Storyboard + attributes inspector

更新:感谢您的所有意见。 Clever Error对视图层和Matt代码的解释的组合使我能够实现我想要的外观。

Desired UI Look!

4 个答案:

答案 0 :(得分:11)

您所描述的是:

<strong>

视图不能标记为不透明,因为它不是不透明的。

答案 1 :(得分:6)

您可以在Swift 3

中设置不透明度,如下所示
view.alpha = CGFloat(0.1)

答案 2 :(得分:2)

总结这些答案https://stackoverflow.com/a/40405424/7767664https://stackoverflow.com/a/46669162/7767664

对于UIView本身的不透明度

view.isOpaque = false
view.alpha = CGFloat(0.5)

用于UIView背景不透明度

view.backgroundColor = UIColor.black.withAlphaComponent(0.5)
view.isOpaque = false

答案 3 :(得分:0)

当您的应用运行时,视图层次结构将为

UIWindow
    UINavigationControllers view
        Your View Controllers View

问题是默认情况下UIWindow是黑色的,UINavigationControllers视图是清晰的。因此,它最终将您的透明黑色与全黑混合,以获得黑色。

您需要向视图控制器添加另一个透明黑色视图,然后将视图控制器视图颜色设置为您要混合的视图颜色。