gpt4 book ai didi

swiftui - SwiftUI 中步进器的奇怪行为

转载 作者:行者123 更新时间:2023-12-04 17:31:46 30 4
gpt4 key购买 nike

我想使用 onIncrement 和 onDecrement 在手动(非绑定(bind))模式下使用 Stepper View 。当我尝试实现下限和上限时,有一种奇怪的行为,例如。年龄值不低于 1 或高于 10。

如果你尝试下面的代码,你可以在它已经有值“1”后按两次“-”。它并没有像预期的那样低于 1,但是在两次额外按下后,“-”按钮突然被禁用。如果您然后按“+”,则没有任何 react 。仅在另外按 2 次“+”后,计数器才会按预期使用react并变为 2。

这是一个错误吗?

struct StepperTest: View {
@State private var age = 5

var body: some View {
VStack {
Stepper("Enter your age", onIncrement: {
if self.age < 10 {
self.age += 1
print("Adding to age")
}
}, onDecrement: {
guard self.age > 1 else { return }
self.age -= 1
print("Subtracting from age")
})

Text("Your age is \(age)")
}
}
}

最佳答案

在递增后检查和重置值似乎有效:

Stepper("Enter your age", onIncrement: {
self.age += 1
if self.age > 10 {self.age = 10}
}
}, onDecrement: {
self.age -= 1
if self.age < 1 {self.age = 1}
})

关于swiftui - SwiftUI 中步进器的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58960251/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com