UIPanGestureRecognizer translationInView 与 locationInView
UIPanGestureRecognizer translationInView vs locationInView
我正在迈出 Swift
的第一步
为 UIPanGestureRecognizer 沿 X 坐标移动 UIView 的最佳方法是什么?
通常程序员使用 translationInView 进行平移手势
但我想 locationInView 更方便用于此目的
平移手势由屏幕上的单个触摸组成,locationInView
为您提供触摸在屏幕上的当前位置,translationInView
为您提供相对于之前触摸的移动。
平移时,您通常对运动更感兴趣(例如,滚动时,您不想知道滚动从哪里开始和结束)而不是当前位置。例如,如果您使用平移识别器进行拖放,那么最终位置会让您感兴趣(您想知道放在哪里)。
translationInView 提供视图在其所在视图内移动的坐标变化。以 CGPoint 的形式给出。
如果你把它拖到左边,它可能会提供坐标:
(-20.0, 0)
locationInView 以 CGPoint 的形式提供视图的位置。
如果将其向左拖动并在整个手势过程中打印 locationInView,您将看到一连串的日志,其坐标不断变化,最后一个是其当前所在的位置。
要使用触摸位置移动 UIView,您需要在手势的委托方法中将 UIView 的框架 属性 设置为手势的 locationInView。
我正在迈出 Swift
的第一步为 UIPanGestureRecognizer 沿 X 坐标移动 UIView 的最佳方法是什么?
通常程序员使用 translationInView 进行平移手势
但我想 locationInView 更方便用于此目的
平移手势由屏幕上的单个触摸组成,locationInView
为您提供触摸在屏幕上的当前位置,translationInView
为您提供相对于之前触摸的移动。
平移时,您通常对运动更感兴趣(例如,滚动时,您不想知道滚动从哪里开始和结束)而不是当前位置。例如,如果您使用平移识别器进行拖放,那么最终位置会让您感兴趣(您想知道放在哪里)。
translationInView 提供视图在其所在视图内移动的坐标变化。以 CGPoint 的形式给出。
如果你把它拖到左边,它可能会提供坐标:
(-20.0, 0)
locationInView 以 CGPoint 的形式提供视图的位置。
如果将其向左拖动并在整个手势过程中打印 locationInView,您将看到一连串的日志,其坐标不断变化,最后一个是其当前所在的位置。
要使用触摸位置移动 UIView,您需要在手势的委托方法中将 UIView 的框架 属性 设置为手势的 locationInView。