Я пытаюсь получить значение индикатора выполнения на основе другого значения. Обе эти переменные (waterQuantity и progress) находятся в оболочках свойств @ State
Это мой код:
struct CircularProgressBar: View {
@State var waterQuantity: Int
@State var progress: Float = (1 + (Float(waterQuantity)/Float(1500))) * 100
var body: some View {
ZStack {
Circle()
.foregroundColor(.white)
.padding(25)
.overlay(
Circle()
.trim(from: 0.0, to: CGFloat(min(self.progress, 1.0)))
.stroke(style: StrokeStyle(lineWidth: 25
, lineCap: .round, lineJoin: .round))
.foregroundColor(Color.blue)
.rotationEffect(Angle(degrees: 270.0))
.animation(.linear)
.padding(50)
)
VStack {
Text(String(format: "%.0i mL", 500))
.font(.largeTitle)
.bold()
.foregroundColor(Color("bgStart"))
Text("1500 mL")
.foregroundColor(.gray)
}
}
}
Как видите, я не могу инициализировать прогресс с другой переменной, которая еще не была инициализирована. Я пробовал передавать значения с помощью init () и изменять fun c, но ни одно из этих решений не помогло мне ?