UIViewPropertyAnimator и распознаватели жестов смахивания в Swift iOS - PullRequest
0 голосов
/ 30 октября 2019

Я делаю анимацию карты, когда пользователь нажимает на кнопку, показывает карту, а затем вы можете либо провести по ней пальцем, либо вернуть ее обратно. Я использую UIViewPropertyAnimator, чтобы отслеживать анимацию и сделать ее прерываемой.

Я слежу за этим конкретным видео YouTube и некоторым кодом из этого проекта .

Я могу показать карту, и жесты смахивания работают как надо. Тем не менее, я хочу, чтобы карта отображалась наполовину, а затем на весь экран. Это должно быть в промежуточном состоянии. Так, например, вы нажимаете на кнопку, карта занимает половину экрана. Затем вы можете провести вверх или вниз, чтобы развернуть его на весь экран или свернуть.

Проверьте это видео на этом reddit post , чтобы получить ясное представление.

Это то, где я до сих пор, это просто идет от 0 до установки высоты, а затем обратно вниз,enter image description here

1 Ответ

0 голосов
/ 30 октября 2019

Я предполагаю, что вы пытаетесь выяснить, как анимировать ваши карты с помощью жестовых методов, и это все, что я понял

Используйте это из-за анимации вашего представления, в данном случае мое имя представления - menuViewController, но вы можете изменить его по своему усмотрению.

Чтобы отодвинуть назад, чтобы оживить ваш вид, используйте это. Я надеюсь, что вы добьетесь успеха в том, что вы ищете.

self.menuViewController.view.frame = CGRect(x: -UIScreen.main.bounds.size.width, y: 60, width: UIScreen.main.bounds.size.width*0.75, height: UIScreen.main.bounds.size.height)
UIView.animate(withDuration: 0.4, animations: {
  self.menuViewController.view.frame = CGRect(x: 0, y: 60, width: UIScreen.main.bounds.size.width*0.75, height: UIScreen.main.bounds.size.height)
  self.view.addSubview(self.menuViewController.view)
}
...