Я хочу использовать представление Stepper в ручном (без привязки) режиме, используя onIncrement и onDecrement. Там странное поведение, когда я пытаюсь реализовать нижнюю и верхнюю границы, например. значение возраста не должно быть меньше 1 или выше 10.
Если вы попробуете следующий код, вы можете нажать «-» два раза после того, как оно уже будет иметь значение «1». Это не идет ниже 1, как ожидалось, но после двух дополнительных нажатий кнопка «-» внезапно отключается. Если затем нажать «+», ничего не происходит. Только после 2 дополнительных нажатий на «+» счетчик реагирует, как и ожидалось, и переходит к 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)")
}
}
}