我在同一UIViews中有几个superview。我希望能够在屏幕上方拖动一个视图,同时当屏幕下方的多个UIViews通过它们时会做出反应(底部的视图不重叠)。现在,我有一个可拖动视图,使用委托协议将触摸事件发送到我的UIViewController,这是我想要执行所有逻辑的地方。

本质上,我希望能够找出当前可拖动视图在视图控制器中位于哪个视图。有没有简单的方法可以做到这一点?

最佳答案

您可以通过遍历self.view(或主视图)的子视图数组来获取所有视图的框架。然后,您可以进行测试以查看某个视图中是否有特定点,或者被拖动的视图的当前框架与其他任何框架是否存在交集。

有一个方便的方法可以让您执行此操作:CGRectIntersectsRect(r1,r2)。

10-07 19:56
查看更多