@objc private func closePanView(sender: UIPanGestureRecognizer) {
switch sender.state {
case .began, .changed:
viewTranslation = sender.translation(in: contentConfigurationView)
UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 0.7, initialSpringVelocity: 1, options: .curveEaseOut) {
if self.viewTranslation.y < 50 {
self.contentConfigurationView.transform = CGAffineTransform(translationX: 0, y: self.viewTranslation.y)
}
}
case .ended, .cancelled:
if viewTranslation.y <= 100 {
UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 0.7, initialSpringVelocity: 1, options: .curveEaseOut) {
self.contentConfigurationView.transform = .identity
}
} else {
closeConfigureView()
}
case .possible, .failed:
break
@unknown default:
fatalError()
}
}
По velocity смотри
То есть? Сори, я просто первый раз pangesture использую
https://developer.apple.com/documentation/uikit/uipangesturerecognizer/1621209-velocity по нему можешь определить направление движения. Теперь думай, ты в шаге от решения)
Спасибо, буду думать)
Обсуждают сегодня