2013-03-25 17 views
0

基本上,我只想觸摸圖像並使其與手指在屏幕上移動,而不使用圖像。中心= touchPosition 我不想讓中心對齊我的手指。我想從我觸摸的任何點移動圖像。移動UIImageView而不使用中心屬性

+2

所以,保持「中心」特性的原點作爲一個變量,從您的新位置中減去該值。 – 2013-03-25 17:13:20

+0

不是一個選項,因爲對象是居中移動 – user2037857 2013-03-25 17:16:19

回答

2

@ richard-j-ross-iii在評論中暗示的標準處理方法是在拖動開始時保存視圖中心和觸摸位置之間的差異,然後將該差異保留爲拖動收益。在你touchesBegan:withEvent:方法保存失調,如:

_dragOffsetFromCenter = CGSizeMake(touchLocationInImageView.x - centerOfImageView.x, touchLocationInImageView.y - centerOfImageView.y); 

然後touchesMoved:withEvent:可以維護一個相同的偏移,如:

myImageView.center = CGPointMake(touchLocation.x - _dragOffsetFromCenter.x, touchLocation.y - _dragOffsetFromCenter.y); 
+0

我如何計算touchLocationInImageView? – user2037857 2013-03-25 17:44:02

+0

各種'touches:*'方法在被UIKit調用時會收到UITouch對象的NSSet。採取該設置中的一個觸摸(如果您不支持這些視圖的多點觸摸,只需使用觸摸anyObject]觸摸即可),然後touchLocationInImageView = [theTouch locationInView:myImageView];' – 2013-03-25 17:55:06

+0

工作這個問題 – user2037857 2013-03-25 18:09:52