У меня есть настройка прямоугольника с длинным жестом нажатия (длительность 0,5 секунды), я хочу, чтобы фрагмент кода запускался, когда начинается длительный жест нажатия, когда он достигает минимальной продолжительности 0,5 секунды и когда пользователь отпускает экран. У меня проблемы с тем, как запустить код, когда пользователь отпускает экран. Мой код сейчас находится в структуре UIView, но я хотел бы переместить его в отдельный класс.
В настоящее время мой код меняет прямоугольник на зеленый, когда жест «заканчивается» (достигает 0,5 секунды). Я хочу, чтобы это делалось, а затем, например, меняю его на синий, когда я отпускаю экран. Я также пытался следовать руководству Apple по добавлению интерактивности с помощью жестов. Спасибо!
Rectangle()
.foregroundColor(self.rectColor)
.frame(width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height, alignment: .topTrailing)
.offset(y:60)
.onTapGesture {
if(self.timingImplement.isRunning){
self.timingImplement.stop()
}
}
.gesture(LongPressGesture(minimumDuration: 0.5)
.onEnded{_ in
if(self.timingImplement.isRunning == false){
self.timingImplement.reset()
self.timingImplement.start()
self.timingImplement.genNewScramble()
self.rectColor = Color.green
}
else{
self.timingImplement.stop()
}
})