gpt4 book ai didi

ios - 如何绘制水平阴影?

转载 作者:行者123 更新时间:2023-12-01 19:31:21 24 4
gpt4 key购买 nike

如何在 View 底部绘制水平阴影?
目前,我是这样画的

    layer.shadowColor = UIColor.darkGray.cgColor
layer.shadowOpacity = 0.3
layer.masksToBounds = false
layer.shadowRadius = 2

let shadowPath = UIBezierPath()
shadowPath.move(to: CGPoint(x: 0, y: bounds.height))
shadowPath.addLine(to: CGPoint(x: bounds.width, y: bounds.height))
shadowPath.addLine(to: CGPoint(x: bounds.width, y: bounds.height + shadowHeight))
shadowPath.addLine(to: CGPoint(x: 0, y: bounds.height + shadowHeight))
shadowPath.close()
layer.shadowPath = shadowPath.cgPath
但我最终得到了一个小的垂直阴影。
Shadow
我希望像这样切断所有垂直阴影
enter image description here

最佳答案

看起来你使用了错误的工具来完成这项工作。 CALayer 的 shadow 属性是用来模拟真实世界阴影的外观,当然,对于这个用途来说,阴影不仅仅停留在角落,而是环绕它是有意义的。要获得您所描述的外观,draw a gradient反而。这是一些代码:

let gradientLayer = CAGradientLayer()
gradientLayer.colors = [UIColor(white: 0.5, alpha: 0.5).cgColor,
UIColor(white: 1.0, alpha: 0.0).cgColor]
gradientLayer.frame = layer.bounds
gradientLayer.anchorPoint = layer.anchorPoint
layer.addSublayer(gradientLayer)
有了这个,我得到:
gray gradient

关于ios - 如何绘制水平阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62580826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com