Comment obtenir de l'actuel point de contact et le précédent point de contact UIPanGestureRecognizer méthode?
Je suis nouveau sur iOS, je suis en utilisant UIPanGestureRecognizer
dans mon projet. En qui j'ai une exigence pour obtenir de l'actuel point de contact et le précédent point de contact quand je suis en faisant glisser le point de vue. J'ai du mal à obtenir ces deux points.
Si j'utilise touchesBegan
méthode au Lieu d'utiliser UIPanGestureRecognizer
, j'ai pu obtenir ces deux points par le code suivant:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
CGPoint touchPoint = [[touches anyObject] locationInView:self];
CGPoint previous=[[touches anyObject]previousLocationInView:self];
}
J'ai besoin d'obtenir ces deux points dans UIPanGestureRecognizer
cas d'incendie de la méthode. Comment puis-je y parvenir? merci de me guider.
OriginalL'auteur Uma rajendran | 2012-11-07
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser ceci:
Magasin emplacement précédent par réglage de la position actuelle si elle ne trouve pas et en ajoutant de la position actuelle à chaque fois.
OriginalL'auteur Paresh Navadiya
Lorsque vous liez un
UIPanGestureRecognizer
à une IBAction, l'action sera appelée à chaque changement. Le geste de reconnaissance fournit également une propriété appeléestate
qui indique si c'est la premièreUIGestureRecognizerStateBegan
, la dernièreUIGestureRecognizerStateEnded
ou tout simplement un événement entreUIGestureRecognizerStateChanged
.Pour résoudre votre problème, essayez-le comme suit:
Vous pouvez également jeter un oeil à la méthode dite
translationInView:
.OriginalL'auteur miho
Il y a une fonction dans UITouch pour obtenir la précédente contact dans la vue
OriginalL'auteur Nagaraj
Vous devez instancier votre pan geste de reconnaissance comme suit:
Alors vous devriez ajouter panRecognizer à votre vue:
La
- (void)handlePan:(UIPanGestureRecognizer *)recognizer
méthode sera appelée lorsque l'utilisateur interagit avec la vue. Dans handlePan: vous pouvez obtenir le point touché comme ceci:Vous pouvez également obtenir l'état de la panRecognizer:
OriginalL'auteur NikosM
Si vous ne voulez pas stocker tout ce que vous pouvez également le faire :
OriginalL'auteur Ysix