[Obj-C] Bloquer le scroll vertical quand on scrolle horizontalement et inversement (Réglé)

Ben77650Ben77650 Membre
octobre 2016 modifié dans API UIKit #1

Bonjour à  tous,


 


Je viens vers vous aujourd'hui afin d'avoir des pistes / des réponses sur un problème auquel je fais face en Objective-C.


 


J'ai une scrollView qui scrolle aussi bien horizontalement que verticalement.


 


Ce qu'il m'est demandé est la fonctionnalité suivante :


  • Quand on scrolle verticalement, on ne doit pas pouvoir scroller horizontalement en même temps
  • Quand on scrolle horizontalement, on ne doit pas pouvoir scroller verticalement en même temps
  • Quand aucun scroll n'est effectué on doit pouvoir scroller horizontalement ou verticalement.

 


Je suis persuadé qu'il faut faire ça dans la méthode



-(void)scrollViewDidScroll:(UIScrollView *)scrollView

Cependant j'ai pas d'idée de comment faire cela.


 


Je suis tombé sur différents sujets SO mais aucun ne désactive le scroll horizontal ou vertical de manière temporaire, ce n'est fait que définitivement.


 


J'avais essayé ça mais ça ne fonctionnait pas, et je ne pouvais plus du tout scroller



-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.y > 0 || scrollView.contentOffset.y < 0 )
scrollView.contentOffset = CGPointMake(scrollView.contentOffset.x, 0);

if (scrollView.contentOffset.x > 0)
scrollView.contentOffset = CGPointMake(0, scrollView.contentOffset.y);
}

Quelqu'un a t-il une idée / une piste / une réponse à  m'apporter s'il vous plait ?


 


Merci d'avance.


Réponses

  • CéroceCéroce Membre, Modérateur
    La propriété directionalLockEnabled a l'air de correspondre très exactement à  ta demande.
  • Ben77650Ben77650 Membre
    octobre 2016 modifié #3

    Merci je vais regarder ça de plus près :)


     


    Edit: c'est exactement ce dont j'avais besoin, merci ;)


Connectez-vous ou Inscrivez-vous pour répondre.