【发布时间】:2023-03-05 02:53:01
【问题描述】:
我将 RGB 颜色传递给 shapeLayer.fillColor 和 shapeLayer.strokeColor,我的代码崩溃了。这是我尝试过的:
let shapeLayer = CAShapeLayer()
shapeLayer.fillColor = (UIColor(red: 57, green: 65, blue: 101, alpha: 1) as! CGColor)
shapeLayer.strokeColor = (UIColor(red: 57, green: 65, blue: 101, alpha: 1) as! CGColor)
如果我将我的 RGB 颜色写为:
UIColor(red: 57, green: 65, blue: 101, alpha: 1)
Xcode 提示我将其更改为:
(UIColor(red: 57, green: 65, blue: 101, alpha: 1) as! CGColor)
当我运行 Xcode 建议的修复程序时,我的应用程序崩溃了。为什么?
【问题讨论】:
-
第一个问题:
57/255.0它应该介于 0 和 1 之间,而不是 0 和 255。第二个问题我不确定您是否可以像这样将UIColor转换为CGColor。相反:shapeLayer.fillColor = UIColor(red: 57/255.0, green: 65/255., blue: 101/255., alpha: 1).cgColor见:stackoverflow.com/questions/27821785/…
标签: ios swift uicolor rgba cgcolor