首页 > 解决方案 > 带阴影的弯曲图像底部

问题描述

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

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

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

    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

这会导致类似:

在此处输入图像描述

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

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

在此处输入图像描述

标签: iosswift

解决方案


推荐阅读