touchesMoved sur iPhone 6S

Hello !!!


Heureux propriétaire d'un iPhone 6s depuis quelques heures, je viens d'y transférer mon app pour la tester. Surprise ... elle ne fonctionne plus ! (alors que sur un iPhone 6 / IOs 9.0.1 ...tout fonctionnait à  merveille).


Après quelques recherches dans mon code, j'ai trouvé d'ou ça vient ... du touchesMoved !


Dans mon code je teste si l'utilisateur effectue un glissement avec son doigt sur ma vue ...via la fonction ci-dessous :



-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    if ([[event touchesForView:self.view] count] == 1) {
        TouchMoveDetect = YES;
    }
}

Si le glissement est effectif- à  savoir [[event touchesForView:self.view] count] == 1- j'initialise mon flag TouchMoveDetect = YES


Or, en cas de tape succincte sur l'écran de mon 6S (donc pas de glissement) et bien [[event touchesForView:self.view] count] vaut quand même 1 ... alors que sur mes anciens devices comme sous simulateur (avec un active scheme = iPhone 6s) aucun "event" .... étrange, non ? Serait-ce du au 3D Touch Display ?


Bien à  vous,


OldNick


 


Réponses

  • AliGatorAliGator Membre, Modérateur
    Mais pourquoi se compliquer la vie et implémenter des logiques comme ca plutôt que d'utiliser un GestureRecognizer qui t'éviterai ce genre de problème ?!
  • Merci AliGator - tu as raison, pourquoi se compliquer la vie ...ça me donne l'occasion d'explorer et d'utiliser GestureRecognizer.


    Mais ma question n'est finalement pas là  ... pourquoi Apple change le comportement d'une méthode - en l'occurence ici touchesMoved ? Je ne dois pas être le seul à  l'utiliser .....


  • AliGatorAliGator Membre, Modérateur
    Tu dois sans doute être le seul à  l'utiliser, puisque maintenant tout le monde utilise UIGestureRecognizer et que c'est lui qui masque les détails d'implémentation de touchMoved & co, et ça ne m'étonne pas plus que ça vu l'avènement de Touch3D que tu aies ce genre de changement de comportement si tu tapes si bas niveau dans la couche de gestion des touches
  • Ben je suis dorénavant comme tout le monde car je viens d'implémenter UIGestureRecognizer dans mon code ... tellement plus simple ... la journée commence bien ! Merci AliGator !


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