2009-11-15 7 views
5

bekomme ich nicht, wie die Koordinaten des iphone zu übersetzen.Berührungskoordinaten erhalten (in Form von 0-480 und 0-320)

wenn ich einen einzigen Tastendruck machen bekomme ich die Koordinate.

wenn ich eine Berührung und halten sie und geben sie es zeigt die Differenz der Start- und Endpunkt.

Wie kann ich die absolute Position der Berührung kommen?

danke!

-(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); 
} 

Ich möchte ein Bild mit Berührung und ziehen, um die Größe (nur die Höhe)

+0

Sie sollten Ihren Code immer Koordinaten hinzufügen – Francescu

Antwort

11

Die Position einer Berührung auf eine Ansicht relativen berechnet wird.

Wenn Sie die Position relativ zum Bildschirm wollen tun: (Subklassen UIView)

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

(trocken codiert, könnten Fehler geben)

+0

es Ihnen danken! Wie ist es möglich, ein UIImageView durch Ziehen auf einer Seite zu vergrößern? – jacky

+0

Ich habe nie die UIImage-Klassen verwendet. Werfen Sie einen Blick auf die Referenz der Klasse UIImage: http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIImage_Class/Reference/Reference.html. Genauer gesagt bei 'drawInRect:' – nash

+2

Ist [touch locationInView: nil] nicht das gleiche Ergebnis? Die Dokumentation sagt: "Pass nil, um den Touch-Ort in den Koordinaten des Fensters zu bekommen." –