Question

Est-il possible de empêcher UIPinchGestureRecognizer d'effectuer un zoom arrière sur l'image d'origine? Je sais que cela peut facilement être fait en utilisant un UIScrollView, mais ce n'est pas possible dans ce cas.

J'utilise actuellement ceci pour transformer la vue;

UIView *piece = gestureRecognizer.view;

CGPoint locationInView = [gestureRecognizer locationInView:piece];
CGPoint locationInSuperview = [gestureRecognizer locationInView:piece.superview];

[gestureRecognizer view].transform = CGAffineTransformScale([[gestureRecognizer view] transform], [gestureRecognizer scale], [gestureRecognizer scale]);
piece.layer.anchorPoint = CGPointMake(locationInView.x / piece.bounds.size.width, locationInView.y / piece.bounds.size.height);
piece.center = locationInSuperview;
Était-ce utile?

La solution

La propriété d'échelle sera inférieure à 1 lors d'un zoom arrière et supérieure à 1 lors d'un zoom avant, il vous suffit donc de vérifier l'échelle lorsque votre module de reconnaissance se déclenche et de ne pas mettre à l'échelle la vue pour une échelle de geste inférieure à 1.

/ p>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top