当我像这样设置单元格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没有效果?我可以看到角落
感谢。
答案 0 :(得分:6)
这是因为你的面具和阴影在同一层上,所以你也可以掩盖你的阴影。
我写了一篇博文,其中的代码通过一种简单的技术来掩盖和遮蔽iOS中的图像:http://travisjeffery.com/b/2012/08/ios-how-to-mask-and-shadow-an-image/