如何使 UIView 的边框颜色渐变?
我已经从 Storyboard中声明了一个 UIView,并且我知道如何使边框颜色固定。但我不知道如何制作边框渐变。
@IBOutlet weak var view: UIView!
override func awakeFromNib() {
super.awakeFromNib()
let gradient = CAGradientLayer()
gradient.colors = [UIColor.white.cgColor, UIColor.black.cgColor]
view.backgroundColor = nil
view.layer.cornerRadius = view.bounds.width / 2
view.layer.borderWidth = 3
view.layer.borderColor = colorOutline.cgColor
nah.textColor = colorCircleBlue
}
最佳答案
如果你想制作圆形渐变框架,请尝试以下操作:
let gradient = CAGradientLayer()
gradient.frame = CGRect(origin: CGPoint.zero, size: self.yourView.frame.size)
gradient.colors = [UIColor(red: 1, green: 0.2527923882, blue: 1, alpha: 1).cgColor, UIColor(red: 0.1802595352, green: 0.06151589641, blue: 0.2927506345, alpha: 1).cgColor]
let shape = CAShapeLayer()
shape.lineWidth = 2
shape.path = UIBezierPath(roundedRect: yourView.bounds.insetBy(dx: 2, dy: 2), cornerRadius: yourView.frame.width * 0.5).cgPath
shape.strokeColor = UIColor.black.cgColor
shape.fillColor = UIColor.clear.cgColor
gradient.mask = shape
self.yourView.layer.addSublayer(gradient)
您的 View 的高度和重量之间的宽高比必须为 1 //粉色和紫色 => [UIColor(红色: 1, 绿色: 0.2527923882, 蓝色: 1, alpha: 1).cgColor, UIColor(红色: 0.1802595352, 绿色: 0.06151589641, 蓝色: 0.2927506345, alpha: 1).cgColor ]
关于swift - 使UIView的边框颜色渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46633099/