向圆圈添加投影模糊阴影

Posted

技术标签:

【中文标题】向圆圈添加投影模糊阴影【英文标题】:Add drop blur shadow to circle 【发布时间】:2017-08-03 16:34:26 【问题描述】:

下午好,

我如何在 swift 3 中实现这样的目标?

circle with blurred drop shadow beneath

阴影中心距圆底约 30px。我尝试过使用阴影技巧,但我无法挤压阴影。我也尝试使用 Photoshop 中的图片,但放大后模糊变得令人讨厌。

【问题讨论】:

Drop shadow in ios的可能重复 我建议(1.查找)或(2.创建)应用高斯模糊效果的椭圆图像并将其放在圆圈下方的 UIImageView 中。 1)只是谷歌椭圆高斯模糊png。 2) 使用除 Photoshop 之外的其他程序来创建图像,例如亲和力设计师/gimp/illustrator/其他程序。然后根据需要调整 alpha 值。 @Tarvo 你的副本帮助回答了这个问题 【参考方案1】:
let rect = CGRect(x: 0, y: midView.frame.minY, width: (midView.bounds.width), height: 20.0)

let elipticalPath = UIBezierPath(ovalIn: rect).cgPath
let maskLayer = CAGradientLayer()
maskLayer.frame = midView.bounds
maskLayer.shadowRadius = 15

maskLayer.shadowPath = elipticalPath
maskLayer.shadowOpacity = 0.7
maskLayer.shadowOffset = CGSize.zero
maskLayer.shadowColor = UIColor.gray.cgColor
midView.layer.addSublayer(maskLayer)

【讨论】:

以上是关于向圆圈添加投影模糊阴影的主要内容,如果未能解决你的问题,请参考以下文章

单视图 iOS 上的多个投影

CSS3阴影效果

在 SVG 中绘制一个带有阴影的圆圈会夹住边缘

自定义View之文字图形图片的阴影

如何删除 UIPopoverController 中的“模糊”阴影

怎么用CSS做图层的投影效果?