gpt4 book ai didi

swift - 如何仅将填充添加到 CAShapeLayer 中 UIBezierPath 矩形的外部?

转载 作者:行者123 更新时间:2023-11-30 10:40:29 25 4
gpt4 key购买 nike

我在 UIVIewController 的 View 中有一个 UIIMageView。我在 Root View 的图层中绘制了一个矩形 - UIBezierPath,我想仅填充矩形的外部并保留矩形的内部未填充,以便人们可以看到其下面的图像。下面是我的尝试,但它填充了矩形而不是矩形的外部。

 let rectHoleSize = CGRect.init(x: myRectangle.frame.minX, y: myRectangle.frame.minY, width: myRectangle.frame.width, height: myRectangle.frame.height)

let path = UIBezierPath.init(rect: rectHoleSize)
path.usesEvenOddFillRule = true

let layer = CAShapeLayer()
layer.path = path.cgPath
layer.fillRule = .evenOdd
layer.fillColor = view.backgroundColor?.cgColor
layer.opacity = 0.5
view.layer.addSublayer(layer)

最佳答案

您需要使用口罩。将填充图层放在 ImageView 的顶部,并使用蒙版(可以是形状图层)在填充图层上打一个孔。

关于swift - 如何仅将填充添加到 CAShapeLayer 中 UIBezierPath 矩形的外部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56908205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com