如何在 Swift 中获取 UIScrollView 的垂直方向?

如何在 VC 中获取向上/向下的滚动/滑动方向?

How can I get the scroll/swipe direction for up/down in a VC?

我想在我的 VC 中添加一个 UIScrollView 或其他东西,可以查看用户是否向上或向下滑动/滚动,然后隐藏/显示 UIView 取决于它是否是向上/向下手势.

I want to add a UIScrollView or something else in my VC that can see if the user swipes/scrolls up or down and then hide/show a UIView depending if it was an up/down gesture.

推荐答案

如果你使用 UIScrollView 那么你可以从 scrollViewDidScroll: 功能.您需要保存它的最后一个位置(contentOffset)并按以下方式更新它:

If you use an UIScrollView then you can take benefit from the scrollViewDidScroll: function. You need to save the last position (the contentOffset) it have and the update it like in the following way:

// variable to save the last position visited, default to zero
private var lastContentOffset: CGFloat = 0

func scrollViewDidScroll(scrollView: UIScrollView!) {
    if (self.lastContentOffset > scrollView.contentOffset.y) {
        // move up
    }
    else if (self.lastContentOffset < scrollView.contentOffset.y) { 
       // move down
    }

    // update the new position acquired
    self.lastContentOffset = scrollView.contentOffset.y
}

当然还有其他方法可以做到这一点.

There are other ways of do it of course this is one to them.

希望对你有所帮助.

相关文章