2009-11-15 6 views
5

non capisco come tradurre le coordinate dell'iphone.ottenere coordinate di tocco (nel formato 0-480 e 0-320)

se faccio un singolo tocco ottengo le coordinate.

se faccio un tocco e lo tengo e lo rilascio mostra la differenza tra il punto iniziale e quello finale.

come ottengo la posizione assoluta del tocco?

grazie!

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [[event allTouches] anyObject]; 
    CGPoint location = [touch locationInView:touch.view]; 
    NSLog(@"X: %f",location.x); 
    NSLog(@"Y: %f",location.y); 
} 

voglio ridimensionare un'immagine con touch e trascinare (solo l'altezza)

+0

Si dovrebbe aggiungere il codice ottenere coordinate – Francescu

risposta

11

La posizione di un tocco è calcolata relativamente alla vista.

Se si desidera che la posizione relativa allo schermo fare: (? Subclassing UIView)

UITouch * touch = [touches anyObject]; 
CGPoint pos = [touch locationInView: [UIApplication sharedApplication].keyWindow]; 
NSLog(@"Position of touch: %.3f, %.3f", pos.x, pos.y); 

(asciugare in codice, potrebbe dare errori)

+0

grazie! Come è possibile ridimensionare un UIImageVIew trascinando un lato? – jacky

+0

Non ho mai usato le classi UIImage. Dai un'occhiata al refernce della classe UIImage: http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIImage_Class/Reference/Reference.html. Più specificamente su 'drawInRect:' – nash

+2

Non è [touch locationInView: nil] dà lo stesso risultato? Il documento dice: "Passa zero per ottenere il punto di contatto nelle coordinate della finestra". –

Problemi correlati