UIPanGestureRecognizer检测一个对象何时穿过另一个对象

时间:2012-10-15 13:50:00

标签: ios uigesturerecognizer

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

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

2 个答案:

答案 0 :(得分:1)

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

CGRect *convertedView1Rect = [view1 convertRect:view1.frame toView:view2];
BOOL intersects = CGRectIntersection(convertedView1Frame, view2.frame);

答案 1 :(得分: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");
     }