2017-04-14 103 views
-3

我有一个水平滚动视图(红色部分在PIC)和(PIC中的蓝色部分)滚动型在滚动型

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

如何使红色(水平)ScrollView的工作? 实际UI的形象 - https://www.dropbox.com/s/5bcphjl6ncv2olu/Photo%202017-04-15%2C%2012%2030%2007%20AM.jpg?dl=0

Image being referred to

+0

你需要尝试和澄清你在问什么......基于该图像 - 以及您在下面评论中发布的图片 - 目前尚不清楚您要做什么。也许在蓝色覆盖红色时显示你想要的样子?如果用户完全覆盖,用户怎么知道他在刷什么?有一些透明区域吗? – DonMag

+0

我已经更新了一个链接到我的实际用户界面的图像的问题,应该更好地清理一些事情@DonMag –

+0

是的,我在下面的评论中看到了......但在该图像中,没有任何内容涉及“红色“区域。当“蓝色”滚动到顶部时显示图像的外观,并且您仍然希望用户能够在“红色”中滑动图像 – DonMag

回答

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

+0

谢谢!这正是我想要做的和示例项目帮助了很多! –

0

不太清楚你想要什么。也许你想要蓝色的那个,而当你向上滚动蓝色的时候,它不会覆盖红色的,对吗?

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

+0

没有不完全。当你向上滚动蓝色时,它会覆盖红色。但我遇到的问题是,在界面生成器中,蓝色滚动视图覆盖红色,然后用户可以使用红色滚动视图。 (我已经更新了这个问题,使其更清晰) –

+0

@NolanRanolin如果蓝色的覆盖红色的,你甚至不能看到它,你怎么能期望用户仍然能够与红色滚动视图交互? – Wenzhong

+0

这里是我的界面图片,你可能会更好地理解,如果你看到它https://www.dropbox.com/s/5bcphjl6ncv2olu/Photo%202017-04-15%2C%2012%2030%2007%20AM.jpg? dl = 0 –