Изменение bool свойства с помощью кнопки
Мой вопрос заключается в следующем, можно ли с помощью кнопки изменять bool свойство дважды? Нажал на кнопку свойство переключилось в состояние true, отпустил кнопку состояние переключилось в false
Например:
Есть свойство
@State var isOn: Bool = false
Button(action: {
isOn.toggle()
}) {
Text("Tap Me!)
}
Данный метод не сработает, чтобы переключить в состояние true и обратно, нужно нажать кнопку 2 раза.
Ответы (1 шт):
Автор решения: Milez
→ Ссылка
Как один из вариантов решения проблемы, который я смог найти:
Button(action: {
isOn = true
DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) {
isOn = false
}
}, label: {
Text("Button")
})
при нажатии на кнопку произойдет переключение в true, после этого через 0.2 секунды (оптимальное время, по моему мнению, чтобы переключение произошло незаметно) переменная будет переключена в состояние false