我似乎无法通过CALayers添加蒙版。我只是试图掩盖一个UIImageView。这里是我的代码:(?是掩盖这种正确的方法)使用CALayers添加蒙版
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的面罩?由于
嘿,感谢你的帮助上设置罩框原来的问题,我试图通过你的建议。无论如何,这似乎也没有伎俩。我没有看到任何面具或我的viewToMask。 – user339946 2012-03-07 03:56:51
@ user339946:您可能需要定义'maskLayer'的'bounds'。 – 2012-03-07 04:25:47
框架为我工作,界限没有。 – 2013-07-21 12:44:42