你知道为什么alpha参数对我的视图不起作用吗?
self.view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.4)
另请查看此视频
谢谢
答案 0 :(得分:4)
如果您使用故事板并使用segue显示视图控制器,则显示带有透明背景的视图控制器的segue的显示属性应该全屏显示,如附件中所示。
然后在视图控制器中使用以下方法设置背景颜色:
self.view.backgroundColor = UIColor(white: 0, alpha: 0.4)
答案 1 :(得分:2)
它并不奇怪,它的行为完全应该如此。尽管UIColor的许多方法都是类方法,但仍然有一些实例方法,这就是其中之一。来自UIColor documentation。
<强> colorWithAlphaComponent:强>
创建并返回具有相同颜色空间的颜色对象 组件值作为接收器,但具有指定的alpha 零件。所以,colorWithAlphaComponent:只是更改alpha值 它的接收器。例如:
let black = UIColor.blackColor() // 1.0 alpha
self.view.backgroundColor = black.colorWithAlphaComponent(0.5) // 0.5 alpha
答案 2 :(得分:1)
您正在展示 ViewController ,因此您不得不在其他ViewController上添加 UIViewController 的 UIView 之后它会起作用。
[[self view] addSubview:myViewController.view];
答案 3 :(得分:0)
我在iOS 12上发现了一个问题,该问题与withAlphaComponent不起作用的标题有关(但与答案无关)。
预期结果:视图背景色是具有某些alpha值的命名背景色。 实际结果:视图背景颜色是他命名为不带alpha的颜色。
如果故事板中设置的颜色是除指定颜色以外的任何颜色,则不会发生此问题。在iOS 14.1上也不会发生。