我试图创建一个应用程序,允许用户在图像上移动框架,以便我可以在选定区域上应用某些效果。iOS中的接触点坐标没有正确映射
我需要允许用户精确拖动和缩放图像上的遮罩帧。我需要这是确切的,就像任何其他照片应用程序一样。
我的策略是获取用户的触摸点,触摸移动的事件,并相应地缩放框架。这很直观。我编写了以下东西处理触摸移动事件:
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint touchPoint = [touch locationInView:[self view]];
float currX = touchPoint.x;
float currY = touchPoint.y;
/*proceed with other operations on currX and currY,
which is coming out quite well*/
}
但唯一的问题是,在currX
和currY
变量的坐标是不完全,他们应该是。有一个视差错误,从设备到设备不断移动。我还认为,在iPad的情况下,x和y坐标会互换。
请你帮我弄清楚如何得到确切的触摸坐标?
我的背景图像位于一个视图中(imageBG
),并且被遮罩的帧位于单独的一个视图中(maskBG
)。我已经尝试了:
CGPoint touchPoint = [touch locationInView:[maskBG view]];
和
CGPoint touchPoint = [touch locationInView:[imageBG view]];
...但同样的问题仍然存在。我还注意到iPad上的触摸错误比iPhone或iPod上的错误更严重。
对这个问题的“Xcode的”标签也是“不正确映射”。 – 2013-02-25 05:55:05
@JoshCaswell *在线高五* – 2013-02-25 05:57:25
@iPatel:[iphone]标签在这里不合适,事实上已经被H2CO3专门去除了。该标签只能用于特定于iPhone硬件的问题 - 设备本身。 – 2013-02-25 06:13:44