0

画像を不規則な形にトリミングしようとしていますが、削除された領域を透明にする必要があります。

UIView のサブクラス内

   CALayer *myLayer = [CALayer layer];
   CAShapeLayer *mask = [CAShapeLayer layer];    
    myLayer.frame = self.bounds;
    myLayer.contents =  (id)[self.picture CGImage];
    mask.path = path;
    myLayer.mask = mask;
    [self.layer addSublayer:myLayer];

これにより、画像が適切にトリミングされますが、ビューの背景色は白であるため、引き続き表示されます。他のレイヤーを透明にしてみましたが、うまくいきません。

(self と subview は両方とも同じビューを参照します)

[self layer].backgroundColor = [UIColor clearColor].CGColor //no change
[self layer].opacity = 0; //makes entire view transparent
subView.backgroundColor = [UIColor clearColor]; // entire view becomes transparent

私が達成しようとしている効果を作成することは可能ですか?

4

1 に答える 1