2012-04-29 68 views
0

在某個框架內拖動一個UIView讓我們說(0,0,320,190)。我怎樣才能拖動UIView一個偏移量。即當我觸摸UIView時,UIView不應該移動到手指之下。拖動UIView

UIView應該在上面的幀中移動一個偏移量。我怎樣才能做到這一點 ?

請讓我知道點子?

+2

你嘗試了什麼? – 2012-04-29 14:06:51

+0

touchesmoved:我重寫它並將觸點設置爲中心 – user1305194 2012-04-29 14:20:51

+1

現在是'它'是什麼? – 2012-04-29 14:54:15

回答

0

首先使用平移手勢識別器來拾取手指位置,然後計算手指位置[手勢locationInView:parentView]和子視圖的框架位置之間的x和y軸變化。將您的偏移量添加到此值。

用剛剛計算出的x,y更改,使用UIView animateWithDuration,並在其內部使用CATransform3DTranslate進行翻譯。那麼子視圖將會隨着動畫移動到你的手指+偏移量所在的位置。

將其保留在父視圖內,只要確保翻譯不會導致子視圖的框架超出父視圖的範圍,並剪裁父視圖,以便子視圖的任何部分超出您的視野父視圖將不會顯示。