J'implémente un zoom à pincement et la mise à l'échelle se produit dans le coin supérieur gauche de la vue par opposition au centre. Après quelques tentatives (cela ressemble à un problème d'origine cs ou similaire), ne pas trouver une bonne solution pour cela, mais il doit y avoir une certaine (peut-être évidente) façon d'échelle du centre de la vue. Si cela a déjà été répondu, apprécierait un pointeur vers la réponse (introuvable après une recherche approfondie). Si non, appréciera les entrées sur la bonne approche.Maintenir le zoom centré sur le centre UIView (par opposition à la mise à l'échelle du coin supérieur gauche)
Modifier les réponses suivantes (merci): Voici le code que j'utilisais d'abord:
func pinchDetected (pinchGestureRecognizer: UIPinchGestureRecognizer) {
let scale = pinchGestureRecognizer.scale
view.transform = CGAffineTransformScale(view.transform, scale, scale)
pinchGestureRecognizer.scale = 1.0
}
Une fois pincée, le contenu à l'intérieur de la vue serait en expansion vers la droite et vers le bas, par opposition à la même chose + vers la gauche et vers le haut (d'où l'hypothèse qu'elle n'est pas mise à l'échelle "du centre"). J'espère que cela le rend plus clair.
Pouvez-vous montrer votre implémentation actuelle pour qu'il soit possible de commenter cela? – naglerrr
Fait @naglerrr - j'espère que cela clarifie. – aac