我正在尝试通过结构da定义SwiftUI中胶囊的高度,该结构将String
转换为double
并对其进行一些计算,就像下面的示例所示。
struct graphLenght{
var energiaOne: String
init(energiaOne: String){
self.energiaOne = energiaOne
}
func energyOne() -> Double{
let formatter = NumberFormatter()
formatter.locale = Locale(identifier: "pt_BR")
formatter.numberStyle = .decimal
let energyOne = formatter.number(from: energiaOne) ?? 00
return Double(truncating: energyOne)
}
func maxValue() -> Double{
return max(energyOne(), energyTwo(), energyThree())
}
func maxValueGraph() -> Double{
if maxValue() <= 0 {
return 1
}else{
return round(maxValue() * 1.1)
}
}
func lenghtConcrete() -> CGFloat{
return CGFloat(((225 * energyOne())/maxValue()))
}
尽管当我尝试在graph.lenghtConcrete
中使用.frame
(就像下面这样)时,警告无效的框架尺寸(负数或非有限数)仍然显示。
Capsule()
.frame(width: 14, height: abs(CGFloat(graph.lenghtConcrete())))
.foregroundColor(.blue)
一个观察结果,maxValueGraph()
的返回值始终为 1
我该如何解决这个问题?