Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法在drawRect中使用颜色透明度_Ios_Swift_Core Graphics - Fatal编程技术网

Ios 无法在drawRect中使用颜色透明度

Ios 无法在drawRect中使用颜色透明度,ios,swift,core-graphics,Ios,Swift,Core Graphics,我在drawRect的透明度方面遇到了问题。我有一个自定义视图。如果我绘制一条矩形贝塞尔路径并用灰色填充,则颜色将是实心的,没有任何透明度,即使将alpha设置为0.6: 导入UIKit class MyView: UIView { override init(frame: CGRect) { super.init(frame: frame) } required init?(coder aDecoder: NSCoder) { su

我在drawRect的透明度方面遇到了问题。我有一个自定义视图。如果我绘制一条矩形贝塞尔路径并用灰色填充,则颜色将是实心的,没有任何透明度,即使将alpha设置为0.6:

导入UIKit

class MyView: UIView {


    override init(frame: CGRect) {
        super.init(frame: frame)
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

    override func drawRect(rect: CGRect) {


        let grayOverlay = UIBezierPath(rect: rect)
        UIColor(red: 34, green: 211, blue: 121, alpha: 0.6).set()
        grayOverlay.fill()

    }

}

我在这里遗漏了什么吗?

视图具有和
-opaque
属性
由于性能原因,默认设置为
true
。如果视图不是不透明的,它将需要透明的混合,这将更加密集。

通过设置为
false
,您同意在视图和其下显示的内容之间具有透明度。

您的视图是否不透明?检查的不透明属性it@Andrea只需将其设置为不透明且不按逻辑更改,如果您希望其透明,则不应设置为透明opaque@Andrea. 啊!!我的错。很抱歉它正在工作。如果你回答,我会接受,否则我就删除这个问题。谢谢谢谢你的回答。