CALayer面具去除?

Tud*_*dor 7 iphone cocoa-touch objective-c ios

我知道一个面具添加了类似的东西

UIImageView *mask = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"mask.png"]];
[mask setFrame:kHexagonMaskRect];
[self setBackgroundColor:kBackgroundColor];
[self layer].mask = [mask layer];
[mask release];
Run Code Online (Sandbox Code Playgroud)

但是我该如何删除它?将其设置为nil有效,但这是泄漏.

Nit*_*Nit 20

#import <QuartzCore/QuartzCore.h>
Run Code Online (Sandbox Code Playgroud)

添加面具

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;
Run Code Online (Sandbox Code Playgroud)

去除面具

 maskimageview.layer.mask = nil;
Run Code Online (Sandbox Code Playgroud)

希望对你有帮助..