0

我用于在屏幕上UIPanGestureRecognizer移动我的对象。UIView

我想要做什么 主要目的是弄清楚当两个对象相互交叉时如何捕获事件。例如两个 UIView 对象。所以第一个是静态对象(不会移动),另一个我可以在需要时在屏幕上移动。因此,我需要知道我的第二个对象(UIView)何时穿过一个静态对象。另一个主要问题是这些视图位于不同的视图上。因此,第一个静态视图位于称为“编辑视图”的视图上,另一个视图位于称为“工具栏”的视图上。所以这意味着我不能只比较两个矩形并享受它。有没有办法在两个对象相互交叉时比较它们,但可能没有方法来比较它们。

4

2 回答 2

1

我认为您正在寻找的是 UIView 的 convertRect:toView: 方法。

CGRect *convertedView1Rect = [view1 convertRect:view1.frame toView:view2];
BOOL intersects = CGRectIntersection(convertedView1Frame, view2.frame);
于 2012-10-15T14:01:41.740 回答
1
   Following method required two parameter of rectangle's - just pass rect1 and rect2 , and it return bool value whether it intersect or not - 

   if( CGRectIntersectsRect(<#CGRect rect1#>, <#CGRect rect2#>) ) {
         NSLog("Intersect");
    } else {
         NSLog("Not Intersect");
     }
于 2012-10-15T14:18:01.333 回答