【发布时间】:2012-03-24 15:02:31
【问题描述】:
我似乎很难通过 CALayers 添加蒙版。我只是想掩盖 UIImageView。这是我的代码:
CALayer *maskLayer = [CALayer layer];
UIImage *mask = [UIImage imageNamed:@"mask.png"];
maskLayer.contents = mask;
UIImageView *viewToMask = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];
viewToMask.image = [UIImage imageNamed:@"picture.png"];
viewToMask.layer.mask = maskLayer;
[self.view addSubview:viewToMask];
Mask.png 是黑色的,上面有一个透明的圆圈(这是正确的遮罩方式吗?)。我不确定这在哪里失败,可能在maskLayer.contents,因为它应该是CGImageRef,但是当我将它设置为mask.CGImage 或通过局部变量CGImageRef = mask.CGImage 时出现错误。无论如何,它现在的设置方式不会出错,所以我希望它没问题。
有谁知道发生了什么,或者如何使用 CALayers 正确设置遮罩?谢谢
【问题讨论】:
标签: iphone ios xcode quartz-graphics