简体   繁体   English

CALayer面具去除?

[英]CALayer mask removing?

I know a mask is added with something like 我知道一个面具添加了类似的东西

UIImageView *mask = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"mask.png"]];
[mask setFrame:kHexagonMaskRect];
[self setBackgroundColor:kBackgroundColor];
[self layer].mask = [mask layer];
[mask release];

But how do I remove it? 但是我该如何删除它? Setting it to nil works, but that is leaking. 将其设置为nil有效,但这是泄漏。

#import <QuartzCore/QuartzCore.h>

Add mask 添加面具

UIImageView *maskimageview = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"mask.png"]];
CALayer *mask = [CALayer layer];
mask.contents = (id)[[UIImage imageNamed:@"mask.png"] CGImage];
maskimageview.layer.mask = mask;
maskimageview.layer.masksToBounds = YES;

Remove mask 去除面具

 maskimageview.layer.mask = nil;

Hope, this will help you.. 希望这个能对您有所帮助..

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM