ScrollView吸顶的问题,求大神赐教



  • 目前在用rn开发公司的app,scrollView的吸顶默认只能吸到屏幕顶部,想要改造成吸到屏幕的某个位置而不是顶部,例如top:100,求大神如何实现,谢谢了。



  • ScrollView的吸顶是用Animated.View的transform的translateY配合上ScrollView的onScroll通过持久化映射到原生事件中去做的。这里我觉得有以下几种方案:
    1、让所有stickyHeader的前一个元素marginBottom:-100, 并且让所有stickyHeader marginTop:100 ,并且让所有stickyHeader上面的100像素保持透明. 我觉得这是最简单的方案,不知道有没有什么副作用,需要自己调试。
    2、就是模仿官方实现ScrollView的吸顶,将translateY的0改成100就行了,这种需要非常熟悉React Native底层实现才有能力驾驭。
    3、可以自己桥接一种自己定义的自动吸顶的View,熟悉原生的话,这个挺简单的,效率也是最好的。



  • 感谢,我试试,我今天也在看react native scrollView 的stickyHeardes 组建实现