我有一个装有图像的React Native ScrollView-一次一幅图像,垂直滚动。现在,当图像可见或不可见时,我希望它的透明度取决于可见的程度。即如果我将视图滚动到视口的一半或一半,则希望其透明度为0.5,如果完全在视口中则希望其透明度为1.0,而在完全不可见时将其透明度设为0.0。在iOS中,我将使用UIScrollView委托函数scrollViewDidScroll来实现此目的。我该如何在React Native中做到这一点?
答案 0 :(得分:0)
所以我最终要做的实际上与在iOS上没什么不同。在ScrollView上,我添加了一个存储在this._scrollView中的引用和一个onScroll函数,在该函数中,我将使用findNodeHandle来获取scrollHeight:
var scrollHandle = findNodeHandle(this._scrollView)
RCTUIManager.measure(findNodeHandle(scrollHandle), (x, y, width, height, px, py) => {
this._scrollHeight = height
})
然后对于每个图像,我可以类似地使用py
变量和height来查看py是否小于0或py + height是否大于窗口。如果是这样,请根据这些值计算透明度。