ScrollView上的ScrollView

时间:2017-04-14 22:04:00

标签: ios uiscrollview

我有一个水平滚动视图(图片中的红色部分)和垂直上(图片中的蓝色部分)

当你垂直滚动时,蓝色会越过红色。红色可以保存图像,您可以在其中水平滑动。当我使蓝色滚动视图足够大以使其中的项目滚动到屏幕顶部时,红色ScrollView不会检测滑动,因为它在蓝色ScrollView下方

如何让红色(水平)ScrollView也能正常工作? 实际用户界面的图片 - https://www.dropbox.com/s/5bcphjl6ncv2olu/Photo%202017-04-15%2C%2012%2030%2007%20AM.jpg?dl=0

Image being referred to

2 个答案:

答案 0 :(得分:0)

不太确定你想要什么。也许你想要红色的那个下面的蓝色,当你向上滚动蓝色时,它不会覆盖红色的那个,对吧?

如果是这种情况,您可能需要在这两个组件上再次查看您的布局。您可以将蓝色滚动视图的顶部约束设置为与红色滚动视图的底部对齐。或者您可以在红色滚动视图下方设置蓝色滚动视图的层次结构。 希望它可以提供帮助。

答案 1 :(得分:0)

诺兰 - 现在我了解你的目标,可能会有一种非常直截了当的方式。

如果你继承UIScrollView,你可以"拦截"触摸并允许它们正常运行,或将它们传递给其他视图。这是一个非常简单的例子:

class PassThruScrollView: UIScrollView {
    override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
        if point.y < 200 {
            return false
        }       
        return true
    }       
}

如果你想看到它,我会把一个工作示例放在一起:https://github.com/DonMag/ScrollViewPassThru