0

我是新手,反应原生和js。根据滚动方向对原生显示/隐藏导航栏作出反应

我想在用户开始在任何时间/位置向上滚动时显示我的导航栏,并在用户开始在任何位置向下滚动时隐藏我的导航栏。

我的第一种方法是一起使用“动画”和“找出滚动方向”,但我失败了。任何人都可以告诉我详细的可能吗?

谢谢!

+0

请登录:( –

回答

0

在您的滚动视图中,将onScroll函数添加到您的滚动视图。

当函数被调用,检查滚动方向:

var currentOffset = event.nativeEvent.contentOffset.y; 
var direction = currentOffset > this.offset ? 'down' : 'up'; 
if(direction == 'down') { 
    // hide the nav 
} else { 
    // show the nav 
} 

我希望它帮你!

+0

)我收到“无法找到变量事件”错误,请给出一些更详细的代码请问您可以为我准备_onScroll()函数吗?:/ –

+0

@EmreŞahiner您可以有一个看看这个:https://stackoverflow.com/questions/29503252/react-native-get-current-scroll-position-of-scrollview/32070911在处理滚动,simpli复制/粘贴我张贴在下面的代码!其实我不能写你的全部功能,也许明天吧! –

+0

谢谢你的回答!我实现了你的建议,它可以工作,但是当我滚动这两个方向时,总是打印出“up”(其他部分)。 .offset返回“undefined”) –