gpt4 book ai didi

Swift - UI 按钮阴影渐变

转载 作者:可可西里 更新时间:2023-11-01 00:56:52 28 4
gpt4 key购买 nike

我正在尝试在 Swift 中重新创建这样的按钮: Glowing Button Effect

我已经能够使用这里的帮助从 Sketch 准确地创建按钮内部的渐变: Answered Question

现在我正在尝试重新创建按钮后面的发光效果。我正在考虑在它后面创建一个 subview 并使用高斯模糊滤镜来绘制它。现在纠结于如何实现,一直没有找到好的解决办法。普通的 CALayer 阴影不适用于渐变,我迷路了。感谢任何帮助

最佳答案

你可以这样做

初始化你的渐变层

let gradientLayer = CAGradientLayer.init()

gradientLayer.colors = [UIColor.red.cgColor,
UIColor.yellow.cgColor,
UIColor.green.cgColor,
UIColor.blue.cgColor]

gradientLayer.transform = CATransform3DMakeRotation(CGFloat.pi / 2, 0, 0, 1)

从按钮的框架设置首选尺寸,例如 40

gradientLayer.frame = CGRect.init(
x: button.frame.minX - 40,
y: button.frame.minY - 40,
width: button.frame.width + 80,
height: button.frame.height + 80)
gradientLayer.masksToBounds = true

初始化阴影层

let shadowLayer = CALayer.init()
shadowLayer.frame = gradientLayer.bounds
shadowLayer.shadowColor = UIColor.black.cgColor
shadowLayer.shadowOpacity = 0.08
shadowLayer.shadowRadius = 20
shadowLayer.shadowPath = CGPath.init(rect: shadowLayer.bounds, transform: nil)

将阴影层设置为渐变层的 mask

gradientLayer.mask = shadowLayer

在按钮层下方的按钮的superView中插入渐变层

backgroungView.layer.insertSublayer(gradientLayer, below: button.layer)

关于Swift - UI 按钮阴影渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45253036/

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