Пан Жест Происхождение - PullRequest
       11

Пан Жест Происхождение

0 голосов
/ 17 сентября 2018

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

Ниже представлена ​​моя функция панорамирования, я знаю, что она привязана к верхней части меню, потому что я использую Menu.frame.origin.y, но я не могу придумать, что еще использовать.

if sender.state == .changed {       
    if Menu.frame.origin.y < menuTopMaxHeight {
        animateMenuUp(sender: sender)
        sender.isEnabled = false
    } else {
        Menu.frame.origin = CGPoint(x: Menu.frame.origin.x, y: dragLocation.y)
    }
}

Мои анимационные функции

func animateMenuUp(sender: UIGestureRecognizer) {
    let menuTopAnchor = self.view.bounds.height - 300
    UIView.animate(withDuration: 0.3) {
        self.menu.frame.origin = CGPoint(x: self.menu.frame.origin.x, y: menuTopAnchor)
        self.screenOverlay.alpha = 0.50
    }
}

func animateMenuDown(sender: UIGestureRecognizer) {
    let menuBottomAnchor = self.view.bounds.height - 62
    UIView.animate(withDuration: 0.3) {
        self.menu.frame.origin = CGPoint(x: self.menu.frame.origin.x, y: menuBottomAnchor)
        self.screenOverlay.alpha = 0
    }
}
...