swift - 使UIView的边框颜色渐变

标签 swift uiview

如何使 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/

相关文章:

iphone - 有没有办法可以在 iPhone SDK 上制作叠加 View ?

swift - SwiftUI 中的 `Task` 和 `async` 有什么区别

ios - 使用 "The network connection was lost."在 swift 中随机获取 "Alamofire.request"

ios - CBCentralManager 未连接

ios - 更改 View 边界会影响框架

ios - 选择时更改自定义 UIView 背景

iphone - 将 uiview 添加到 uiviewcontroller

ios - Swift 3 转换 unicode 字符串 U+1F600

swift - fatal error Firebase 快照

ios - 来自 MapView Annotation-iOS 的缩略图