使用图层更改UIButton边框颜色

时间:2019-11-11 13:47:42

标签: ios swift uibutton cashapelayer cgcolor

我有一个UIButton,在UILabel的顶部和底部放置了一个边框。在更改线条的颜色时,下面将线条设置为白色。我可以使用UIColor.green.cgColor将行更改为预定的颜色,例如绿色。 问题是我想将颜色设置为topBorder.strokeColor = UIColor.init(red: 50, green: 50, blue: 50, alpha: 0.5).cgColor

当我这样做时,颜色仍然是白色。为什么会这样?我可以将其设置为预定的颜色,但可以将其设置为所需的特定颜色。

let topBorderTerms = CAShapeLayer()
let topPathTerms = UIBezierPath()
topPathTerms.move(to: CGPoint(x: 0, y: 0))
topPathTerms.addLine(to: CGPoint(x: Terms.frame.width, y: 0))
topBorderTerms.path = topPath.cgPath
topBorderTerms.strokeColor = UIColor.white.cgColor
topBorderTerms.lineWidth = 1.0
topBorderTerms.fillColor = UIColor.white.cgColor
Terms.layer.addSublayer(topBorderTerms)

enter image description here

1 个答案:

答案 0 :(得分:2)

替换

topBorder.strokeColor = UIColor.init(red: 50, green: 50, blue: 50, alpha: 0.5).cgColor. 

使用

topBorder.strokeColor = UIColor(red: 50/255, green: 50/255, blue: 50/255, alpha: 0.5).cgColor

您错过了除以 255