0

当我像这样设置单元格 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 没有效果?我能看到角落

谢谢。

4

1 回答 1

6

这是因为你的遮罩和阴影在同一层,所以你也遮住了你的阴影。

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

于 2012-08-07T01:09:17.377 回答