UIScrollView应仅向下滚动

时间:2017-05-12 07:49:36

标签: ios swift uiscrollview

我有一个scrollview,我希望滚动视图只滚动向下,它不应该向任何其他方向滚动。它不是关于水平或垂直,而是我希望滚动视图仅在垂直模式下向下滚动而不向上滚动。

1 个答案:

答案 0 :(得分:1)

<强>解决方案

子类UIScrollView并覆盖限制水平滚动的方法,仅在方向向下时滚动:

class DownwardsOnlyScrollView: UIScrollView
{
    override func setContentOffset(_ contentOffset: CGPoint, animated: Bool) {
        // restrict movement to vertical only
        let newOffset = CGPoint(x: 0, y: contentOffset.y)

        //only scroll if scroll direction is downwards
        if newOffset.y > self.contentOffset.y
        {
            super.setContentOffset(newOffset, animated: animated)
        }
    }
}