如何解决SwiftUI:如何在进度条中使用线性渐变?
我正在尝试在条形图中构建一个圆角矩形视图,梯度逐渐变暗,value
越高(值在 0-10.0 范围内)。但我似乎无法弄清楚如何在此处使用 UnitPoint
for endPoint 来获得渐变应该结束的正确点。换句话说,如果 value = 5.0,我希望渐变将条的顶部显示为渐变最暗颜色的一半,或者换句话说,渐变的最暗颜色始终为 10.0,而条的颜色只会显示为酒吧是。
var body: some View {
VStack {
RoundedRectangle(cornerRadius: 5.0)
.fill(LinearGradient(gradient: Gradient(colors: [ Color(UIColor(red: 0.98,green: 0.85,blue: 0.38,alpha: 1.00)),Color(UIColor(red: 0.63,green: 0.02,blue: 0.11,alpha: 1.00))]),startPoint: .bottom,endPoint: UnitPoint(x: 0.5,y: CGFloat((value * 10 / 100)))))
.frame(width: 40,height: open ? CGFloat(value * 10) : 0)
}
}
解决方法
我认为最好的办法是“屏蔽”梯度,而不是试图计算 endPoint
。
这是一个 HStack
中有 5 个“条”的示例 - 第一个条的 max 值为 10
,然后条的值变为 {{1} }:
示例代码:
9,7.5,5,2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。