Ios CALayer-在保持遮罩静止的同时翻译图像

Ios CALayer-在保持遮罩静止的同时翻译图像,ios,core-graphics,mask,Ios,Core Graphics,Mask,我有一个CALayer,它包含一个图像,上面有一个遮罩 CALayer*第一层=[CALayer层] firstLayer.backgroundColor = [UIColor clearColor].CGColor; firstLayer.frame = curveView.frame; firstLayer.position = CGPointMake(curveView.frame.origin.x + 100, curveView.frame.origin.y + 100); firs

我有一个CALayer,它包含一个图像,上面有一个遮罩

CALayer*第一层=[CALayer层]

firstLayer.backgroundColor = [UIColor clearColor].CGColor;
firstLayer.frame =  curveView.frame;
firstLayer.position = CGPointMake(curveView.frame.origin.x + 100, curveView.frame.origin.y + 100);
firstLayer.name = @"FirstLayer";
[self.view.layer addSublayer:firstLayer];

CALayer *firstImageLayer = [CALayer layer];
firstImageLayer.frame = firstLayer.bounds;
firstImageLayer.masksToBounds = NO;   
firstImageLayer.name = @"FirstImageLayer";
firstImageLayer.contents = (id)first.CGImage;
[firstLayer addSublayer:firstImageLayer];
firstImageLayer.mask=[cM setMaskOnLayer:firstImageLayer :@“FirstColor”:(错误)]

我想平移/平移/拖动包含在基础层中的图像,同时保持遮罩固定。(有点像在固定窗口内查看图像)


帮帮我。

您是否尝试将ImageLayer的逆变换应用于MaskLayer

CALayer* imageLayer = ...;
 CALayer* maskLayer = ...;
 CGAffineTransform inverse = CGAffineTransformInvert(imageLayer.affineTransform);
 maskLayer.affineTransfrom = inverse; //assign everytime imageLayer move or change

如何解决这个问题你能分享一些代码吗?请帮助我
CALayer* imageLayer = ...;
 CALayer* maskLayer = ...;
 CGAffineTransform inverse = CGAffineTransformInvert(imageLayer.affineTransform);
 maskLayer.affineTransfrom = inverse; //assign everytime imageLayer move or change