-1

我创建了一个带有阴影的草图设计,但是当我尝试在 Xcode 中快速实现它时,我没有得到我想要的结果,这就是我想要实现的

在此处输入图像描述

但这就是我不断得到的

在此处输入图像描述

这是我正在使用的代码

extension CALayer {
func applySketchShadow(
    color: UIColor = .black,
    alpha: Float = 0.5,
    x: CGFloat = 0,
    y: CGFloat = 2,
    blur: CGFloat = 4,
    spread: CGFloat = 0)
{
    shadowColor = color.cgColor
    shadowOpacity = alpha
    shadowOffset = CGSize(width: x, height: y)
    shadowRadius = blur / 2.0
    if spread == 0 {
        shadowPath = nil
    } else {
        let dx = -spread
        let rect = bounds.insetBy(dx: dx, dy: dx)
        shadowPath = UIBezierPath(rect: rect).cgPath
    }
}
}
4

1 回答 1

0

你只需要做的就是你要增加y的值。

如果将 x 和 y 的值设置为 0.0,那么它将显示类似框的阴影。因此,当您增加 y 的值时,阴影将向下移动。因此,您不会看到向上的阴影,它看起来就像您需要的那样。

希望这会帮助你。

于 2018-05-07T09:40:09.050 回答