我在UIVIewController的视图内有一个UIIMageView。我在根视图的图层中绘制了一个矩形-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)
答案 0 :(得分:0)
您将需要使用口罩。在图像视图的顶部放置一个填充层,并使用蒙版(可以是形状层)在填充层上打一个孔。