SwiftUI: Как запустить действие, когда пользователь освобождает экран от longPressGesture? - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть настройка прямоугольника с длинным жестом нажатия (длительность 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()
                        }

                    })

1 Ответ

0 голосов
/ 05 апреля 2020

проверьте этот пример Apple, это делает это (и еще кое-что вы можете узнать;)

https://developer.apple.com/documentation/swiftui/gestures/composing_swiftui_gestures

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...