フレームを設定してレイヤーを移動したいのですが、レイヤークリップも移動しません。
次のように作成されるレイヤーを作成しました。
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);
レイヤーとそのクリップ マスクの両方がオフセットされます。私が達成しようとしている効果は、丸みを帯びた長方形のクリッピング領域の下にあるレイヤーを「スクロール」することです。何か案は?