CALayer mask removing?

cocoa-touch, ios, iphone, objective-c

Solution

#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..

Problem

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.

Original source