10

私はマスクが次のようなもので追加されていることを知っています

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

しかし、どうすればそれを削除できますか?nilに設定しても機能しますが、それはリークです。

4

1 に答える 1

23
#import <QuartzCore/QuartzCore.h>

マスクを追加

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;

マスクを外す

 maskimageview.layer.mask = nil;

うまくいけば、これはあなたを助けるでしょう..

于 2012-05-04T08:30:19.533 に答える