レイヤーのマスクプロパティを使用して、UIViewを画像にマスクしようとしています。「とても簡単」という例は数え切れないほどあります。しかし、かなりの調整を行った後、説明した結果を再現できないようです。レイヤーマスクを設定すると、ビューが消えるだけです。これが私が使用しているコードです:
- (void)setMaskImage:(UIImage *)maskImage
{
_maskImage = maskImage;
self.layer.mask.contents = (__bridge id)(_maskImage.CGImage);
}
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self != nil) {
self.layer.mask = [CALayer layer];
}
return self;
}
- (void)setFrame:(CGRect)frame
{
[super setFrame:frame];
self.layer.mask.frame = self.layer.bounds;
}
そして、これが私がビューをマスクするために使用しようとしている画像です:http: //cl.ly/0a300G2r133V