【发布时间】:2019-03-19 21:35:42
【问题描述】:
注意:我已经尝试过找到的其他答案,但没有任何效果。
我需要为可以在主视图周围拖动的 UIView 设置屏幕限制(这样我就不能将它拖到视图之外)。另外我想知道如何让这个屏幕限制适应不同的设备。
@IBAction func handlePan(recognizer:UIPanGestureRecognizer) {
let translation = recognizer.translation(in: self.view)
if let view = recognizer.view {
view.center = CGPoint(x:view.center.x + translation.x,
y:view.center.y + translation.y)
}
recognizer.setTranslation(CGPoint.zero, in: self.view)
}
【问题讨论】:
-
使用
UIPanGesture设置允许用户移动对象的区域的一个问题是,一旦对象的位置超出范围,他们将无法移动它。那你打算怎么做呢? -
在手势的
changed状态下,只需声明您希望视图框架遵守的条件。例如,如果视图的框架的 y 原点小于 0,则它等于 0。这不会中断手势本身。
标签: swift uiview uigesturerecognizer