UIPinchGestureRecognizer position de la pincer entre deux doigts
J'ai mis en œuvre avec succès une pincée de zoom de la vue. Cependant, le point de vue ne prend pas en position de lui-même où j'ai souhaité qu'il soit. Pour le stackoverflowers avec un iPad, je voudrais que mon point de vue est centré comme sur les Photos iPad.application : lorsque vous pincez&zoom sur un album, les photos se présenter dans un point de vue qui est en pleine expansion. Ce point de vue est d'environ centré avec le coin en haut à droite sur le premier doigt et le bas à gauche doigt de la main sur l'autre doigt. J'ai mélangé avec un pan de reconnaissance, mais de cette façon, l'utilisateur a toujours pincer, et puis de pan pour régler.
Voici donc graphique explication, je pouvais poster une vidéo de mon application si c'est pas clair (pas de secret, je suis en train d'essayer de reproduire les Photos.application de l'iPad...)
Donc pour une position initiale des doigts, en commençant zoom :
C'est le réel "zoomé" cadre " pour l'instant. Le carré est plus grand, mais la situation est sous les doigts
Voici ce que je voudrais avoir : même taille, mais d'origine différente.x et y :
(désolé pour mes pauvres compétences photoshop ^^)
- BONJOUR Thomas, je suis également très intéressé à ce sujet. Avez-vous trouver des solutions à ce sujet? Avez-vous des échantillons de codes? merci~
- Je n'ai pas eu le temps de revenir à cette question, mais @md_develop réponse ressemble beaucoup. Je vais essayer de trouver un peu de temps pour mettre à jour mon code et accepter la réponse si cela fonctionne
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir le
CGPoint
du point milieu entre deux doigts via le code suivant dans la méthodehandlingPinchGesture
.Toute ma
handlePinchGesture
méthode est ci-dessous.UIGestureRecognizerStateBegan
parce que vous vous déplacez les doigts loin ou de plus près.locationInView:self
retourne centre de gravité entre deux doigts. Cette partie ne de travail. Même après 1 heure, j'ai toujours ne peux pas obtenir que cela fonctionne dans mon application, où j'ai des tas de couches que j'ai besoin de bouger.._myLayer
, et remplacerself.layer
dans votre code pour_myLayer
, votre code ne pouvait pas fonctionner correctement. pourquoi et comment le résoudre? merci à l'avance.Ont un look à la Touche exemple de projet. Ces méthodes pourraient vous aider:
view.transform
redimensionne mon sous-vues ainsi... Est-il un moyen d'empêcher ça?