我创建了一个带有阴影的草图设计,但是当我尝试在Xcode中使用swift实现这个时,我没有得到我想要的结果,这就是我想要实现的目标
但这是我一直得到的
这是我正在使用的代码
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
}
}
}
答案 0 :(得分:0)
你只需要做的就是你必须增加y的值。
如果将x和y的值设置为0.0,则它将显示阴影状框。因此,当您增加y的值时,阴影将向下移动。所以,你不会看到阴影上升,它看起来像你需要的。
希望这会对你有所帮助。