Scrollview只检测某些区域的滚动?

时间:2017-02-05 22:35:42

标签: ios swift scrollview

我希望有一个覆盖整个屏幕的滚动视图。但是我想知道是否可以仅允许从滚动视图的一部分检测到滚动。例如,您有一个全屏滚动视图,屏幕的上半部分应该检测滚动,但下半部分不应该。我知道如果你将alpha更改为0,滚动视图不再滚动,是否可能的解决方案是更改scrollview的部分alpha?甚至可能吗?任何想法或想法?

1 个答案:

答案 0 :(得分:1)

您可以从UIScrollView继承并覆盖方法touchesShouldBegin。 您应该检查触摸和允许的点。

class ScrollView: UIScrollView {

    override func touchesShouldBegin(_ touches: Set<UITouch>, with event: UIEvent?, in view: UIView) -> Bool {

        if (touches.first?.location(in: self).y)! > self.bounds.height / 2 {
            // In bottom part
            return true
        }

        // In top part
        return false
    }
}