0

在某个框架内拖动一个 UIView,让我们说 (0, 0, 320, 190)。如何使用偏移量拖动 UIView。即当我触摸 UIView 时,UIView 应该不在手指下移动。

使用偏移量,UIView 应该在上面的框架内移动。我怎样才能做到这一点 ?

请让我知道想法?

4

1 回答 1

0

首先使用平移手势识别器来获取手指的位置,并计算手指位置 [gesture locationInView:parentView] 与子视图的框架位置之间的 x 和 y 轴变化。将您的偏移量添加到该值。

使用您刚刚计算的 x、y 更改,使用 UIView animateWithDuration 并在其中使用 CATransform3DTranslate 进行翻译。然后子视图将(带有动画)移动到您的手指+偏移量所在的位置。

要将其保留在父视图中,只需确保翻译不会导致子视图的框架超出父视图的范围,并剪辑父视图,这样子视图的任何部分都不会超出父视图被显示。

于 2012-09-14T19:16:39.767 回答