我在swift 4
项目中使用[UICircularProgressRing]库以显示progress circular bar
。我使用的类型是gradient
,它不是一个完整的圆圈。 start angle
是120,而end angle
是60。我面临gradient
颜色的问题。不适用于放射状。我想要一个渐变,从绿色开始,然后是黄色,最后是红色。与此图片相同,只是反转了第一个和最后一个颜色。
这是我实际上拥有的:
使用此代码:
func configureRing() {
ringView.delegate = self
let green = UIColor(hexString: "#31c8b4")!
let yellow = UIColor(hexString: "#fbd16a")!
let red = UIColor(hexString: "#fe160f")!
ringView.ringStyle = .gradient
ringView.gradientColors = [green, red]
ringView.gradientColors = [green, yellow, red]
ringView.gradientColorLocations = [0, 0.5, 1]
ringView.gradientStartPosition = UICircularProgressRingGradientPosition.bottomLeft
ringView.gradientEndPosition = UICircularProgressRingGradientPosition.bottomRight
ringView.value = 100
}
如您所见,黄色部分很小。
[UICircularProgressRing] = https://github.com/luispadron/UICircularProgressRing
编辑:
当我添加更多颜色时,这就是我得到的:
ringView.gradientColors = [green, yellow, yellow, red]
ringView.gradientColorLocations = [0, 0.4, 0.6, 1]
最佳答案
我对UICircularProgressRing一无所知,但是我知道如何指定渐变。因此,假设此操作正常,您可以尝试以下类似操作:
ringView.gradientColors = [green, yellow, yellow, red]
ringView.gradientColorLocations = [0, 0.4, 0.6, 1]
当然,可以根据需要调整颜色和位置。当我用普通的CAGradientLayer做这种事情时,我得到了:
...似乎沿渐变分布颜色,而不是您所描述的。
关于ios - iOS UICircularProgressRing径向渐变,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49368958/