Needle Gauge UI闪烁逻辑异常问题求助
Needle Gauge UI闪烁逻辑异常问题求助
嗨,各位大佬!我最近在用SwiftUI做一个指针仪表盘,遇到了个挺棘手的问题,想请教下大家的思路~
我的需求是这样的:当仪表盘显示的温度值达到23℃这个阈值时,仪表盘开始闪烁;而且随着温度越接近32℃的最大值,闪烁速度要线性加快。但目前的实现完全不对——闪烁速度根本不跟着当前温度值走,反而只和温度的变化速率有关,数值涨得快闪得就快,涨得慢就闪得慢,完全不符合预期。我把能想到的逻辑都改了一遍,还是没搞定,实在没辙了😭
下面是我当前的代码片段:
import SwiftUI struct NeedleGauge: View { var value: Double var minValue: Double var maxValue: Double var temperatureValue: Double // Temperature value to display inside the gauge @State private var isFlashing = false @State private var flashSpeed: Double = 1.0 // Define min and max temperatures for flashing logic let minTemperature = 23.0 let maxTemperature = 32.0 var body: some View { VStack { GeometryReader { geometry in // 仪表盘指针、刻度等绘制逻辑 } // 其他相关视图内容 } // 当前的闪烁动画绑定逻辑(可能问题出在这部分) } }
有没有朋友能帮我分析下问题出在哪?或者给个正确的实现方向,让闪烁速度能根据当前温度值来线性调整,而不是跟着数值变化率走?
备注:内容来源于stack exchange,提问作者Nic Karpik
相关产品推荐
相关产品推荐

