作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在我的 swift 4
项目中使用 [UICircularProgressRing] 库来显示一个进度条
。我使用的类型是 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 UICircularProgressRing 径向渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49368958/
我在我的 swift 4 项目中使用 [UICircularProgressRing] 库来显示一个进度条。我使用的类型是 gradient,它不是一个完整的圆。 start angle 是 120,
我是一名优秀的程序员,十分优秀!