我正在使用 UIPanGestureRecognizer 移动 UIImageView。现在我需要检查用户是否在其他矢量 PDF UIImageView 中移动了我的对象。
例如,我们正在移动红色条,我们需要在蓝色条内移动红色条(蓝色条是矢量 PDF)。我们如何检查?
示例图片:http://i.imgur.com/PKXKHBi.png
示例代码:
@IBAction func moveRedBox(recognizer: UIPanGestureRecognizer) {
let translation = recognizer.translationInView(self.view)
recognizer.view!.center = CGPoint(x:recognizer.view!.center.x + translation.x,
y:recognizer.view!.center.y + translation.y)
recognizer.setTranslation(CGPointZero, inView: self.view)
if recognizer.state == UIGestureRecognizerState.Ended {
// Here we will check that redBox inside blueBox
}
}
请您参考如下方法:
要检查两个 View 是否重叠,您可以使用 CGRectIntersectsRect功能。
更新:刚刚发现Swift中CGRect也有一个intersects方法
let doRectsIntersect = rect1.intersects(rect2)
