gpt4 book ai didi

ios - UIView阴影渐变

转载 作者:IT王子 更新时间:2023-10-29 05:17:42 26 4
gpt4 key购买 nike

我在我的 iOS 项目中创建了一个带有投影的自定义 UIView。我的目标是对 View 背景上的阴影应用相同的渐变。

下面是我当前纯色阴影的示例。

Shadow Example这是通过 UIView 的子类使用以下代码完成的:

override func layoutSubviews() {
let gradientLayer = layer as! CAGradientLayer
gradientLayer.colors = [topColor.cgColor, bottomColor.cgColor]
gradientLayer.startPoint = CGPoint(x: startPointX, y: startPointY)
gradientLayer.endPoint = CGPoint(x: endPointX, y: endPointY)
layer.cornerRadius = cornerRadius
layer.shadowColor = shadowColor.cgColor
layer.shadowOffset = CGSize(width: shadowX, height: shadowY)
layer.shadowRadius = shadowBlur
layer.shadowOpacity = 1

let inset: CGFloat = bounds.width * 0.05
layer.shadowPath = UIBezierPath(roundedRect: bounds.insetBy(dx: inset, dy: 0.0), cornerRadius: cornerRadius).cgPath
}

我一直在尝试创建第二个渐变层并将其遮盖到阴影中,但没有成功。请给我指明正确的方向!

最佳答案

我认为你不能用标准的 CALayer 阴影做更多的事情。看看 CALayer 的 filters 属性。

https://developer.apple.com/documentation/quartzcore/calayer/1410901-filters

创建第二个 CAGradientLayer 并应用一个 GausianBlur 过滤器。

https://developer.apple.com/library/content/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html#//apple_ref/doc/filter/ci/CIGaussianBlur

禁用标准图层阴影并将模糊图层添加为子图层。

关于ios - UIView阴影渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46445802/

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