我想通过设置框架来移动图层,但也不会移动图层剪辑。
我创建了一个按如下方式创建的图层:
layer = [CustomLayer layer];
layer.frame = CGRectMake(50, 50, 100, 30);
[layer setNeedsDisplay];
[self.view.layer addSublayer:layer];
像这样的剪辑层:
clipLayer = [CAShapeLayer layer];
UIBezierPath *clipPath = [UIBezierPath bezierPathWithRoundedRect:layer.bounds
cornerRadius:10.0f];
clipLayer.path = clipPath.CGPath;
layer.mask = clipLayer;
但是,在我的代码中稍后的某个时刻,如果我设置图层框架:
layer.frame = CGRectOffset(layer.frame, -20.0, 0.0);
图层及其剪辑蒙版都是偏移的。我想要实现的效果是在圆角矩形剪裁区域下“滚动”一个图层。有什么想法吗?
答案 0 :(得分:4)
我会将剪辑图层剪切到第三层。第三层需要:
然后只需移动底层,第三层及其剪裁层将保持不变。
注意:这对我有用 - 但是,您还必须确保要移动的图层是剪切图层的子视图。