尝试在swiftUI中定义Capsule框架高度时,框架尺寸无效(负数或非有限度)

时间:2020-11-01 13:52:48

标签: swift swiftui frame

我正在尝试通过结构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

我该如何解决这个问题?

0 个答案:

没有答案