Создать эскиз типа тени - PullRequest
0 голосов
/ 07 мая 2018

Я создал эскизный проект с тенями, но когда я попытался реализовать это в Xcode с помощью swift, я не получил желаемого результата, это то, чего я хочу достичь

enter image description here

Но это то, что я продолжаю получать

enter image description here

Вот код, который я использую

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
    }
}
}

1 Ответ

0 голосов
/ 07 мая 2018

Вам нужно всего лишь увеличить значение y.

Если вы установите значение x и y равным 0.0, тогда оно будет отображаться в виде тени. Таким образом, когда вы увеличиваете значение y, тень будет двигаться вниз. Таким образом, вы не увидите тень вверху, и она выглядит так, как вам нужно.

Надеюсь, это поможет вам.

...