Ios Scrollview仅检测特定区域的滚动?

Ios Scrollview仅检测特定区域的滚动?,ios,swift,scrollview,Ios,Swift,Scrollview,我想要一个覆盖整个屏幕的滚动视图。但是,我想知道是否可以只允许从scrollview的一部分检测滚动。例如,您有一个全屏滚动视图,屏幕的上半部分应检测到滚动,但下半部分不应检测到滚动。我知道如果你把alpha改为0,scrollview就不会再滚动了,一个可能的解决方案是改变scrollview部分的alpha吗?这可能吗?有什么想法或想法吗?您可以从UIScrollView中创建子类,并覆盖方法ToucheShouldBegin。 你应该检查什么点接触,是否允许 class ScrollVie

我想要一个覆盖整个屏幕的滚动视图。但是,我想知道是否可以只允许从scrollview的一部分检测滚动。例如,您有一个全屏滚动视图,屏幕的上半部分应检测到滚动,但下半部分不应检测到滚动。我知道如果你把alpha改为0,scrollview就不会再滚动了,一个可能的解决方案是改变scrollview部分的alpha吗?这可能吗?有什么想法或想法吗?

您可以从UIScrollView中创建子类,并覆盖方法
ToucheShouldBegin
。 你应该检查什么点接触,是否允许

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
    }
}
类滚动视图:UIScrollView{
覆盖func touchesshouldbeagin(touch:Set,带有事件:UIEvent?,在视图:UIView中)->Bool{
如果(触碰.first?.location(in:self.y)!>self.bounds.height/2{
//在底部
返回真值
}
//在顶部
返回错误
}
}

一个简单的解决方案是将表格视图添加到ViewController中,并在表格视图中不允许触摸的部分添加清晰的视图。这是我目前为止的func touchesshouldbeagin(touchs:Set,with event:UIEvent?,in view:UIView)->Bool{}如何编写if语句来检查触点的位置