我试图使用的CALayer与图像作为掩蔽一个UIView的内容。对于面具我有复杂的PNG图像。如果我将该图像作为view.layer.mask应用,我会得到与我想要的相反的行为。 有没有办法改变CAlayer?这里是我的代码:逆转的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中的图像,使阿尔法倒置,但问题是,我将无法创建具有适合所有屏幕尺寸的确切大小的图像。我希望它确实有道理。
“我希望它确实有道理。”它没有。其含义是,你首先将你的面具图像“倒退”。那很愚蠢。为什么不正确地绘制掩模图像开始? – matt
问题在于掩码在关键窗口的中心有一个固定的大小。如果我在Photoshop中绘制“正确”蒙版,我将永远无法使蒙版适用于所有屏幕尺寸。所以我用我的公司标志作为面具,我需要从主视图上模版出 – arvidurs
不,我不遵循。如果你以_your_ mask开始,那么为什么会这样工作,但如果你用_correct_ mask开始工作,那么为什么会这样呢? – matt