如何查看两个UIImageView是否触及

时间:2017-05-14 06:13:17

标签: ios swift swift3 uiimageview

如何确定两个UIImageViews是否相互接触?我试图让它意识到他们已经相互接触,然后在内部添加一些代码。

希望有人能提供帮助,谢谢!

我已经尝试了

if (newArea.frame.intersects(yolo.frame)) {

        print("ok")

    }

2 个答案:

答案 0 :(得分:2)

您可以检查UIImageViews是否重叠:

if img1.bounds.contains(img2.bounds) 
{
   print("overlapped")
}

答案 1 :(得分:1)

在不依赖于视图层次结构的情况下,执行此操作的正确方法是使用convertRect

let r1 = newArea.superview.convert(newArea.frame, to: nil)
let r2 = yolo.superview.convert(yolo.frame, to: nil) 
if r1.intersects(r2) { stuff() }

这会将两个帧转换为屏幕坐标,然后在它们是超视图的本地坐标之前检查交叉点。