在触摸移动时查找UIView的交集

时间:2019-05-14 04:19:37

标签: ios swift

enter image description here

如上图所示。我有一个UIView,它将响应我们的触摸事件。在移动时,我需要找出下面的哪个UIView。对于一个示例,在移动UIView时是否找到了图片上方的UIView。我们需要找出它当前正在此UIView中移动

1 个答案:

答案 0 :(得分:1)

将每个视图的边界矩形转换为公共坐标系,然后查看矩形是否相交。您可以使用任一视图的坐标系作为公共系统,在这种情况下,您只需要转换一个边界矩形即可。

extension UIView {
    func intersects(_ her: UIView) -> Bool {
        let herInMyGeometry = convert(her.bounds, from: her)
        return bounds.intersects(herInMyGeometry)
    }
}