user2722667 user2722667 - 6 months ago 64
iOS Question

How to get UIScrollView vertical direction in Swift?

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

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

depending if it was an up/down gesture.


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, initially setted 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.

I hope this help you.