如何查看两个UIImageView是否接触过



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

希望有人能帮忙,谢谢!

我已经试过了

if (newArea.frame.intersects(yolo.frame)) {
        print("ok")
    }
您可以

检查UIImageViews是否像这样重叠:

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

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

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

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

最新更新