get touch coordinates (in the form of 0-480 and 0-320)

jacky picture jacky · Nov 15, 2009 · Viewed 14.8k times · Source

i dont get how to translate the coordinates of the iphone.

if i make a single touch i get the coordinate.

if i make a touch and keep it and release it it shows the difference of the starting and end point.

how do i get the absolute position of the touch?

thanks!

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

I want to resize an image with touch and drag(only the height)

Answer

nash picture nash · Nov 15, 2009

The position of a touch is calculated relative to a view.

If you want the position relative to the screen do:

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

(dry coded, might give errors)