首页 > 解决方案 > 在 raywenderlich.com 文章中设置 CALayer 颜色

问题描述

我对这篇文章有疑问https://www.raywenderlich.com/7595-how-to-make-a-custom-control-tutorial-a-reusable-slider

代替

var trackTintColor = UIColor(white: 0.9, alpha: 1) {
    didSet {
      trackLayer.setNeedsDisplay()
    }
  }

var trackTintColor = UIColor(red: 56, green: 81, blue: 117, alpha: 1) {
    didSet {
      trackLayer.setNeedsDisplay()
    }
  }

RangeSlider.swift中。

但是我想要的颜色不会出现,并且 RangeSlider 没有背景颜色。

你能告诉我为什么吗?我怎样才能让 RangeSlider 具有我想要的颜色?

谢谢阅读。

标签: ioscalayeruicontrol

解决方案


组件的取值范围UIColor必须在 0.0 和 1.0 之间,这在第一个示例中非常明显。

您可以将UInt8值除以 255(作为浮点数以获得正确的浮点结果)

var trackTintColor = UIColor(red: 56.0/255.0, green: 81.0/255.0, blue: 117.0/255.0, alpha: 1.0) { ...

或预先计算值,或在资产目录中定义颜色


推荐阅读