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
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 .....
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 !