Skip to main content
 首页 » 操作系统

ios之检查是否在其他 View 中查看

2024年01月01日42kevingrace

我正在使用 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)