Всем доброго времени суток!
Прошу знатоков помочь разобраться с жестами встряхивания устройства…
Я разрабатываю металлокалькулятор, в нем более 20 видов расчета на отдельных View.
Я хочу реализовать возможность очищать поля от введенных данных при помощи жеста встряхивания телефона, но с возможностью отключения данной функции в настройках приложения.
Я реализовал switch в настройках, прикрутил к нему Settings.shared.defaults, switch запоминает положение (вкл/выкл)
Но есть проблема, я не знаю как правильно реализовать отслеживание жеста встряхивания на разных view…
для проверки я добавил следующий код в один из ViewController’ов:
override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?)
{
switch Settings.shared.defaults.bool(forKey: "ShakeSwitch") {
case true:
print("On")
default:
print("Off")
}
}
При загрузке приложения в первый раз и с включенным switch в консоль выводится текст “On”, но если я отключаю switch, то ничего не происходит, хотя в консоль должнен выводиться текст “Off”. Также, если я включаю switch обратно в положение On, то в консоль опять-же не выводится текст “On”
Кто может объяснить, почему так?
Заранее спасибо за ответ!