0
我试图将图像裁剪为不规则形状,但我需要将该区域移除为透明。的UIView使用CALayers使遮罩区域周围变得透明?
CALayer *myLayer = [CALayer layer];
CAShapeLayer *mask = [CAShapeLayer layer];
myLayer.frame = self.bounds;
myLayer.contents = (id)[self.picture CGImage];
mask.path = path;
myLayer.mask = mask;
[self.layer addSublayer:myLayer];
此的
内的子类会适当地裁剪图像,但是视图的背景颜色是白色,因此仍然可见。我试图让其他图层透明,但它没有奏效。
(个体经营和子视图都指向同一个视图)
[self layer].backgroundColor = [UIColor clearColor].CGColor //no change
[self layer].opacity = 0; //makes entire view transparent
subView.backgroundColor = [UIColor clearColor]; // entire view becomes transparent
是否有可能创造我想要达到什么效果?
将逻辑放在init与drawrect之间有没有区别?矿井不正确;这是我目前看到的唯一区别。 – Mahir 2013-04-27 15:16:05
我会测试自己,但我目前没有访问我的代码 – Mahir 2013-04-27 15:16:58
这段代码不应该在'drawRect:'中。 'drawRect:'意味着像CGPath's等Core Graphics绘图代码。将代码放在'initWithFrame:'中,看它是否有效。 – kmikael 2013-04-27 23:29:25