弯曲的图像底部有阴影

时间:2020-08-12 11:46:45

标签: ios swift

我正在尝试在Swift中获得这种效果,尝试了许多方法,例如UIBezierPath等,但是没有什么比我想要实现的更接近了。我对图像的底部,即曲线和阴影感兴趣。

使用UIBezierPath获得的最佳结果是剪切放置在图像底部的视图。但是,我不能在那儿放阴影。那么,还有其他想法吗?谢谢!

PS:我不喜欢使用代码的方法,因此不想发布它,但是无论如何,这里是:

  • 我在图像的顶部,底部放置了一个白色的UIView,并像这样“切开”它:
    let freeform = UIBezierPath()
    freeform.move(to: .zero)
    freeform.addQuadCurve(to: CGPoint(x: viewArch.width / 2, y: viewArch.height), controlPoint: CGPoint(x: viewArch.width / 4, y: viewArch.height))
    freeform.addQuadCurve(to: CGPoint(x: viewArch.width, y: 0), controlPoint: CGPoint(x: viewArch.width * 0.75, y: viewArch.height))
    freeform.addLine(to: CGPoint(x: viewArch.width, y: viewArch.height))
    freeform.addLine(to: CGPoint(x: 0, y: viewArch.height))
    freeform.addLine(to: .zero)
    freeform.close()
        
    let maskLayerA = CAShapeLayer()
    maskLayerA.path = freeform.cgPath
    viewArch.layer.mask = maskLayerA

结果如下:

enter image description here

但是我在白色视图上而不是图像上使用了路径,所以不知道如何现在放置阴影。

为了清楚起见,我在这里概述了viewArch:

enter image description here

0 个答案:

没有答案