将屏幕点转换为图像点

时间:2013-08-23 10:25:33

标签: ios cgpoint

我在uiimage视图中显示了一个图像。如果我触摸屏幕中的某个位置,是否有任何方法可以知道图像中触摸了哪个点。我想采取关于图像的坐标,而不是屏幕坐标。我想在不使用任何第三方库的情况下这样做。请提出是否有任何方法。

4 个答案:

答案 0 :(得分:1)

尝试这样做,重要提示设置为userInteractionEnable=YES到图像视图默认情况下,图像视图的用户交互设置为NO。

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

}

答案 1 :(得分:0)

要将点从一个视图转换为另一个视图,您可以使用convertPoint:fromView:convertPoint:toView:方法。

答案 2 :(得分:0)

从UIImageView触摸事件中获取相对坐标(我假设您正在使用UIImageView并为Image设置其Image属性)。然后你可以使用1 / UIImageView.image.scale与相对触摸坐标相乘并获得该图像的绝对坐标。

基本上你的原始图像会根据UIImageView的大小而倾斜或缩放,所以你需要反过来。

答案 3 :(得分:0)