潘手势的起源

时间:2018-09-17 12:33:31

标签: ios swift uigesturerecognizer uipangesturerecognizer

我有一个向上滑动菜单,其中添加了平移手势。当前,如果它完全打开,并且我将手指放在底部并拖动,菜单的顶部将贴紧我的手指,而不是简单地继续从手指位置拖动。

下面是我的平移手势功能,我知道它正在弹出菜单顶部,因为我正在使用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
    }
}

0 个答案:

没有答案