我正在尝试使用CALayer作为遮罩UIView的内容,遮罩是一个复杂的png图像。如果我将该图像应用为view.layer.mask,我得到的结果与我想要的相反。
有没有一种方法可以反转CAlayer?这是我的代码:
layerMask = CALayer()
guard let layerMask = layerMask else { return }
layerMask.contents = #imageLiteral(resourceName: "mask").cgImage
view.layer.mask = layerMask
// What I would like to to is
view.layer.mask = layerMask.inverse. // <---
我看过一些关于反转CAShapeLayers和可变路径的文章,但没有关于如何反转CALayer的内容。我可以在Photoshop中反转图像以使Alpha通道反转,但这样做的问题是我无法创建一个能适配所有屏幕尺寸的具有完全相同大小的图像。希望我的问题表述清楚了。
invertsMask
属性来反转像素透明度的值,以解决这种情况。 - CIFilter