0

Je suis nouveau à réagir natif et js. Je veux montrer ma barre de navigation lorsque l'utilisateur commence à faire défiler vers le haut à n'importe quel moment/position et cacher ma barre de navigation lorsque l'utilisateur commence à faire défiler vers le bas à n'importe quelle position.réagir natif afficher/cacher navbar selon la direction de défilement

Ma première approche a été d'utiliser "animation" et "découvrir la direction de défilement" ensemble, mais j'ai échoué. Quelqu'un peut-il me montrer comment cela est possible?

Merci!

+0

S'il vous plaît heeelp :( –

Répondre

0

Dans votre scrollview, ajoutez la fonction onScroll à votre scrollview.

Lorsque la fonction s'appelle, vérifier la direction du défilement:

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

J'espère que ce sera vous aider!

+0

j'obtiens l'erreur « ne peut pas trouver événement variable » Pouvez-vous donner un peu de code plus détaillé s'il vous plaît Pouvez-vous écrire pour moi exactement _onScroll() func s'il vous plaît.?/ –

+0

@ EmreŞahiner vous pouvez avoir un regardez ceci: https://stackoverflow.com/questions/29503252/react-native-get-current-scroll-position-of-scrollview/32070911 dans le défilement de la poignée, simpli copier/coller le code que j'ai posté ci-dessous! En fait, je je ne peux pas t'écrire la fonction complète, peut-être que demain –

+0

je te remercie pour ta réponse! Je mets en œuvre ta suggestion et ça marche mais quand je défile dans les deux sens, toujours imprimé "en haut" (à l'intérieur d'autre). .offset renvoyé "undefined") –