在另一个UIView下面获得一个UIView

时间:2012-08-24 17:59:07

标签: ios cocoa-touch uiview

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

基本上,我希望能够在视图控制器中找到我的可拖动视图当前的视图。有没有简单的方法呢?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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