我很难弄乱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的图片,其中包含您可以看到的设置。如果您需要更多信息,请随时告诉我。非常感谢你的帮助。
更新:感谢您的所有意见。 Clever Error对视图层和Matt代码的解释的组合使我能够实现我想要的外观。
答案 0 :(得分:11)
您所描述的是:
<strong>
视图不能标记为不透明,因为它不是不透明的。
答案 1 :(得分:6)
您可以在Swift 3
中设置不透明度,如下所示view.alpha = CGFloat(0.1)
答案 2 :(得分:2)
总结这些答案https://stackoverflow.com/a/40405424/7767664,https://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视图是清晰的。因此,它最终将您的透明黑色与全黑混合,以获得黑色。
您需要向视图控制器添加另一个透明黑色视图,然后将视图控制器视图颜色设置为您要混合的视图颜色。