#swift #animation #uiviewanimation #uipangesturerecognizer
Вопрос:
Цель состоит в том, чтобы анимация выглядела так :
Я добавил жест панорамирования в представление и добавил анимацию ниже :
@IBAction func viewPanned(_ panRecognizer: UIPanGestureRecognizer) {
// how much distance has user dragged the card view
// positive number means user dragged downward
// negative number means user dragged upward
let translation = panRecognizer.translation(in: self.view)
print("user has dragged (translation.y) point vertically")
if panRecognizer.state == .began {
cardPanStartingTopConstant = topSpace.constant
} else if panRecognizer.state == .changed {
let transitionAnimator = UIViewPropertyAnimator(duration: 0.3, dampingRatio: 1, animations: {
if self.cardPanStartingTopConstant translation.y > 30.0 {
// then only move the card
self.topSpace.constant = self.cardPanStartingTopConstant translation.y
}
self.view.layoutIfNeeded()
})
transitionAnimator.addCompletion { position in
}
transitionAnimator.startAnimation()
}
}
Хотя я умею хорошо прокручивать, результат не тот же самый. Я хочу добавить эффект пружины в середине UIView, чтобы он соответствовал gif в верхней части.