我試圖創建一個應用程序,允許用戶在圖像上移動框架,以便我可以在選定區域上應用某些效果。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