Je travaille sur une application qui permet à l'utilisateur de redimensionner et de faire pivoter une photo en utilisant UIGestureRecognizers
. J'ai ce code qui ajuste la anchorPoint
en fonction de l'endroit où l'utilisateur est l'application des touches (pour le faire paraître comme ils sont mise à l'échelle de l'image au point où les doigts sont en fait):Comment influence-t-on le centre d'ancrage dans un UIView?
- (void)adjustAnchorPointForGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
{
UIView *gestureRecognizerView = gestureRecognizer.view;
CGPoint locationInView = [gestureRecognizer locationInView:gestureRecognizerView];
CGPoint locationInSuperview = [gestureRecognizer locationInView:gestureRecognizerView.superview];
gestureRecognizerView.layer.anchorPoint = CGPointMake(locationInView.x/gestureRecognizerView.bounds.size.width, locationInView.y/gestureRecognizerView.bounds.size.height);
gestureRecognizerView.center = locationInSuperview;
}
Plus tard, je m simplement vouloir calculer l'origine en fonction du centre et des limites avec ce code:
CGRect transformedBounds = CGRectApplyAffineTransform(view.bounds, view.transform);
CGPoint origin = CGPointMake(view.center.x - (transformedBounds.size.width * view.layer.anchorPoint.x), view.center.y - (transformedBounds.size.height * view.layer.anchorPoint.y));
et ça sort mal (je compare à la valeur de trame qui ironiquement est censé être invalidée mais ne fait que la valeur correcte).
Donc dans l'ensemble je me demande, qu'est-ce que je ne prends pas en compte ici? Comment le anchorPoint
influence-t-il le centre d'une manière que je ne suis pas en mesure de déterminer?
Comme [ce] (http://ronnqvi.st/about-the-anchorpoint /) –
@ DavidRönnqvist - Merci qui a été utile –