0

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

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

4

2 回答 2

1

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

有一个方便的方法可以让你做到这一点:CGRectIntersectsRect(r1, r2)。

于 2012-08-24T18:06:31.737 回答
0

您将需要获取视图的框架并查看它们是否相交。这里的示例代码有一个类似的问题Detecting if UIView is intersecting other UIViews

于 2012-08-24T18:06:41.610 回答