关于遮罩层的阴影

时间:2012-04-09 02:30:11

标签: ios mask shadow

当我像这样设置单元格imageView阴影时:

[[[self imageView] layer] setShadowColor:[[UIColor redColor] CGColor]];
[[[self imageView] layer] setShadowOffset:CGSizeMake(1, 2)];
[[[self imageView] layer] setShadowOpacity:1.0];
[[[self imageView] layer] setShadowRadius:MASK_LAYER_RADIUS];


self.maskLayer = [[[CALayer alloc] init] autorelease];
[_maskLayer setFrame:CGRectMake(0, 0, [UIImage imageNamed:name].size.width, [UIImage imageNamed:name].size.height)];
[_maskLayer setBackgroundColor:[[UIColor grayColor] CGColor]];
[_maskLayer setCornerRadius:MASK_LAYER_RADIUS];
[_maskLayer setOpacity:MASK_LAYER_OPACITY];
[_maskLayer setShadowColor:[[UIColor greenColor] CGColor]];
[_maskLayer setShadowOffset:CGSizeMake(1, 2)];
[_maskLayer setShadowOpacity:1.0];
[_maskLayer setShadowRadius:MASK_LAYER_RADIUS];
[self.imageView.layer setMask:_maskLayer];

对不起,我无法上传效果图片

当我跑步时我发现ShadowRadius没有效果?我可以看到角落

感谢。

1 个答案:

答案 0 :(得分:6)

这是因为你的面具和阴影在同一层上,所以你也可以掩盖你的阴影。

我写了一篇博文,其中的代码通过一种简单的技术来掩盖和遮蔽iOS中的图像:http://travisjeffery.com/b/2012/08/ios-how-to-mask-and-shadow-an-image/