У меня есть UIView, который можно перетаскивать пальцем, который я реализовал с помощью UIPanGestureRecognizer.Это позволяет мне перетаскивать вид по горизонтали;влево или вправо.
Я заставляю мой вид двигаться, получая следующее состояние от UIPanGestureRecognizer (используя translationInView: метод):
- UIGestureRecognizerStateBegan
- UIGestureRecognizerStateChanged
Что происходит сейчас, так это то, что вид перестает двигаться, как только палец покидает поверхность экрана, что оказывает неестественный эффект.
То, что я хотел бы, было быпредставление перетаскивания замедляется, начиная с состояния UIGestureRecognizerStateEnded, плавно останавливаясь.
Такое поведение используется классом и подклассами UIScrollView (UIWebView, UITableView и т. д.).
Я пробовал несколько подходоввычисляя по скорости, времени, когда произошло касание, и остановил дистанцию остановки и т. д. Но, честно говоря, у меня есть чувство, что я никуда не иду, чтобы получить естественное поведение.Я даже пытался использовать физический движок, как Бурундук.Но я нахожу это сложным для того, чего я пытаюсь достичь, и я почти уверен, что должно быть лучшее (если не простое) решение.
Большое спасибо!
Джереми