我正在采取Swift的第一步
UIPanGestureRecognizer沿X坐标移动UIView的最佳方法是什么?
通常程序员使用translationInView进行平移手势
但我认为locationInView更方便用于此目的
答案 0 :(得分:2)
translationInView提供视图在其包含的视图中移动的坐标变化。这是以CGPoint的形式给出的。
如果将其拖动到左侧,则可能会提供坐标:
( - 20.0,0)
locationInView以CGPoint的形式提供视图的位置。
如果你将它拖到左边并在整个手势中打印locationInView,你会看到一个带有改变坐标的日志,最后一个是它当前的休息位置。
要使用触摸位置移动UIView,您需要在手势的委托方法中将UIView的frame属性设置为手势的locationInView。
答案 1 :(得分:1)
平移手势由屏幕上的各个触摸组成,locationInView
为您提供屏幕上触摸的当前位置,translationInView
为您提供相对于之前触摸的移动。
平移时,您通常对动作感兴趣(例如,滚动时,您不想知道滚动的开始位置和结束位置),而不是当前位置。如果您使用平移识别器进行拖放操作,那么该位置会让您感兴趣的是最终位置(您想知道放下的位置)。