2015-11-06 68 views
12

我试图实现一个UI,其中有一个完整页面<ScrollView />和一个完全位于其下的<View /><ScrollView />在顶部有填充,所以最初<View />是可见的,然后<ScrollView />向上滚动以覆盖它。当然,这个问题是<View />没有收到触摸,因为他们被<ScrollView />响应者吃掉。通过ScrollView传递触摸事件

现在有没有什么办法实现或子类<View />,使您可以传递事件到底层元素?

+1

您定位了哪个平台?这可能不适合你,但如果你将scrollview背景设置为透明,这可能有助于iOS。我相信它是通过透明叠加传递触摸事件的iOS。我可能会完全倒退,现在找不到参考。而且,这可能不适用于滚动视图。但是,以防万一它有帮助... –

+0

你可以提供一个小问题这个问题的应用程序?这将有助于弄清楚如何解决这个问题。 –

+0

你有没有找到解决这个迈克?我们自己也会遇到同样的问题! – simonthumper

回答

1

您应该使用Animated.View接受ScrollViewy补偿作为Animated.Value支柱。然后,您可以使用该值在滚动ScrollView时执行动画。滚动将捕捉平移动画,并通过道具传递给需要它的人。

你会找到的最好的代码示例之一是Facebook的F8应用程序。准确地说,这个文件:https://github.com/fbsamples/f8app/blob/b5df451259897d1838933f01ad4596784325c2ad/js/common/ListContainer.js。在该文件中,ParallaxBackground获得来自ListView子项的偏移量Animated.Value