2010-02-03 5 views
0

Je voulais savoir S'il y avait un moyen d'utiliser trois touches avec un UIScrollView. Ce que je veux en fin de compte, c'est que l'UIScrollView ne reçoive qu'un seul UITouch (ou du moins pense qu'il n'a qu'une seule touche), mais trois touchers. Je veux utiliser le disons juste le doigt du milieu ou trouver la moyenne (x, y) des trois touches et l'utiliser (x, y) comme mon contact est envoyé à l'UIScrollView. Si quelqu'un sait ou a une idée de comment je peux accomplir ceci alors s'il vous plaît télécharger du code si possible.Utiliser un UIScrollView avec 3 touches pas une

+0

La classe UIScrollView est écrite pour faire défiler avec un doigt et zoomer avec deux doigts. Je ne pense pas qu'il soit possible de changer ce comportement. Ce que vous demandez nécessitera probablement que vous écriviez votre propre implémentation de vue de défilement personnalisée pour obtenir le comportement souhaité. – Jasarien

Répondre

3

Si vous mettez trois doigts vers le bas, UIScrollView ne défilera pas, vous n'avez donc pas à vous soucier de désactiver le comportement par défaut. Pour le faire défiler avec trois doigts, faites votre calcul fou pour obtenir la moyenne en utilisant les fonctions tactiles normales, puis utilisez - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated pour faire défiler automatiquement.

+0

Sur un ipad, trois touches permettent de faire défiler un UIScrollView par défaut. –

0

Vous pouvez probablement implémenter votre idée en sous-classant UIScrollView puis implémenter un comportement différent en touchedBegan/Moved/Ended, en modifiant les touches et en les passant à la superclasse si nécessaire.

Personnellement, je pense que vous ne devriez pas introduire des gestes complexes. La plupart des gens ont déjà des problèmes avec deux gestes du doigt. Il m'a fallu un an pour découvrir que deux doigts dans Maps.app a également fait un zoom. (Peut-être que je suis idiot si)

Questions connexes