iOS:CALayer 阴影只有矩形?

标签 ios calayer

对于 CALayer 上的阴影属性,是否只是矩形且仅针对图层?也就是说,使用 quartz 我可以在任意路径上填充路径时设置阴影。我可以使用 CALayer 的阴影属性来做到这一点吗?我不这么认为,但我想要确认。

最佳答案

是的,您可以使用 CALayer 上的 shadowPath 属性来设置自定义阴影。这是一个例子:

[shadowDepth.layer setMasksToBounds:NO ];
[shadowDepth.layer setShadowColor:[[UIColor blackColor ] CGColor ] ];
[shadowDepth.layer setShadowOpacity:0.5 ];
[shadowDepth.layer setShadowRadius:6.0 ];
[shadowDepth.layer setShadowOffset:CGSizeMake( 0 , 0 ) ];
[shadowDepth.layer setShouldRasterize:YES ];
UIBezierPath * depthShadowPath = [UIBezierPath bezierPath ];
[depthShadowPath moveToPoint:CGPointMake( 40 , 140 ) ];
[depthShadowPath addLineToPoint:CGPointMake( shadowDepth.frame.size.width - 40 , 140 ) ];
[depthShadowPath addLineToPoint:CGPointMake( shadowDepth.frame.size.width + 20 , shadowDepth.frame.size.height + 40 ) ];
[depthShadowPath addLineToPoint:CGPointMake( -10 , shadowDepth.frame.size.height + 40 ) ];
[depthShadowPath addLineToPoint:CGPointMake( 40 , 140 ) ];
[shadowDepth.layer setShadowPath:[depthShadowPath CGPath ] ];

我就此发表了一篇文章,并提供了一些技巧来优化对您的应用程序的性能影响。在这里查看:CALayer Shadows

关于iOS:CALayer 阴影只有矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5432233/

相关文章:

iphone - 无法以编程方式设置 UIButton 操作

ios - 如何以编程方式检索 UIScrollView? (iOS 5 Storyboard)

ios - Pixate 如何在代码中动态更改样式? (iOS)

ios - 多个 CALayer 动画同时执行

ios - 更改 View 的值及其图层的值

iOS 纵横比填充图像调整大小,内容与左/上边缘对齐

ios - 为什么阴影半径也会对圆的内部产生影响?

ios - CLLocationManager授权消息

ios - 如何在 UIImageView 中以编程方式使 UIButton 居中?

ios - CALayer 的 backgroundFilters 在 UIView 上没有任何作用