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