0

画面上でオブジェクトUIPanGestureRecognizerを移動するために使用します。UIView

私がやりたいこと 主な目的は、2つのオブジェクトが互いに交差するときにイベントをキャッチする方法を理解することです。たとえば、2つのUIViewオブジェクト。つまり、最初の1つは静的オブジェクト(移動しない)であり、もう1つは必要なときに画面上で移動できます。したがって、2番目のオブジェクト(UIView)が静的オブジェクトと交差する瞬間を知る必要があります。また、主な問題は、これらのビューが異なるビューに配置されていることです。したがって、最初の静的ビューは「編集ビュー」と呼ばれるビューに配置され、別のビューは「ツールバー」と呼ばれるビューに配置されます。つまり、2つのrectを比較して楽しむことはできないということです。2つのオブジェクトが互いに交差するときにそれらを比較する方法はありますが、それらを比較するだけの方法がない可能性があります。

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 に答える