Сжать высотуОпредел анимации - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь сделать всплывающее меню

Я сделал это всплывающее представление с использованием xib и прикреплен к ViewController

и добавил жест панорамирования при просмотре подтягивания

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

func pullUpControlView(_ pullUpControlView: PullUpControlView, didPanned height: CGFloat, animated: Bool) {
    self.pullUpControlViewHeightConstraint?.constant = height
    if animated {
        UIView.animate(withDuration: 10, delay: 0, usingSpringWithDamping: 0.7, initialSpringVelocity: 0, options: .curveEaseOut, animations: {
            self.view.layoutIfNeeded()
        }, completion: nil)
    }
}

это мой код, его анимация работает нормально, когда вид достигает максимальной высоты,

, но при сворачивании вида вид сразу же сворачивается и начинает медленно двигаться вниз (странная анимация)

как правильно сделать эту анимацию (высота сжатия сверху вниз)

enter image description here

1 Ответ

1 голос
/ 18 апреля 2019
func pullUpControlView(_ pullUpControlView: PullUpControlView, didPanned height: CGFloat, animated: Bool) {
    UIView.animate(withDuration: 5, animations: {() -> Void in
        self.view.layoutIfNeeded()
    }, completion: {(_ finished: Bool) -> Void in
        self.pullUpControlViewHeightConstraint?.constant = height
        self.view.layoutIfNeeded()
        //if animation is finished ("finished" == *YES*), then hidden = "finished" ... (aka hidden = *YES*)
    })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...