2009-04-29 9 views
2

J'ai essayé de capturer le zoom avant/arrière dans un UIView.Effectuer un zoom avant/arrière UIView

code:

NSSet *allTouches = [event allTouches]; 
NSArray *twoTouches = [allTouches allObjects]; 
UITouch *first = [twoTouches objectAtIndex:0]; 
UITouch *second = [twoTouches objectAtIndex:1]; 
CGPoint firstPoint = [first locationInView:self]; 
CGPoint secondPoint = [second locationInView:self]; 
CGFloat initialDistance = [distanceBetweenPoints(firstPoint, secondPoint)]; 

J'utilise la fonction distanceBetweenPoints, le problème est que firstPoint ou SecondPoint est toujours 0,00, 0,00 et pour cette raison, le résultat est la valeur d'un d'entre eux.

J'ai besoin que les valeurs de cabine soient distint à zéro pour obtenir la distance réelle. La trame de la vue est: (0, 0, 320, 417).

La fonctionnalité que je développe ressemble à un zoom avant/arrière de google maps.

Merci,

+0

De quelle plateforme parlons-nous? iphone? –

+0

Oui, iphone. J'ai trouvé la réponse. Le problème était que l'uiview en avait besoin l'attribut self.multipleTouchEnabled = YES; Pour cette raison, le multitouch a fonctionné mais pas si bien. Merci, –

+2

S'il vous plaît, lorsque vous trouvez la réponse vous-même, l'ajouter comme une réponse, pas comme un commentaire. Sinon, votre question semble rester sans réponse dans les recherches. – hatfinch

Répondre

2

Le problème était que le UIView besoin l'attribut self.multipleTouchEnabled = OUI; Pour cette raison, le multitouch a fonctionné mais pas si bien.