Получите, какая часть вида видна в React Native? - PullRequest
0 голосов
/ 11 октября 2018

У меня есть React Native ScrollView, заполненный изображениями - по одному изображению за раз, с прокруткой по вертикали.Теперь, когда изображение появляется или выходит из поля зрения, я хочу, чтобы его прозрачность зависела от того, сколько из него видно.Т.е., если я прокрутил вид наполовину или наполовину из области просмотра, я хочу, чтобы его прозрачность была 0,5, если он полностью включен, я хочу, чтобы он был 1,0, а когда он полностью скрыт, я хочу, чтобы он был 0,0.В iOS я использовал бы функцию делегата UIScrollView scrollViewDidScroll, чтобы достигнуть этого.Как мне сделать это в React Native?

1 Ответ

0 голосов
/ 12 октября 2018

То, что я в итоге сделал, на самом деле не сильно отличалось от того, что я мог на 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 переменная и высота, чтобы увидеть, было ли py меньше 0 или было ли py + height больше окна.Если это так, рассчитайте прозрачность на основе этих значений.

...