0

私のアプリでは、ユーザーは CALayers のスタックから一番上の CALayer をドラッグできます。

ユーザーがドラッグを停止すると、CALayer は他の CALayer の上にある元の位置に戻ります。CALayer (ドラッグ後) が他の CALayer とオーバーラップしない限り、他の CALayer の下に移動する必要があります。

では、2 つの CALayer がオーバーラップしているかどうかを検出するにはどうすればよいでしょうか?

4

1 に答える 1

1

CALayer のフレーム プロパティは CGRect です。幸いなことに、CGGeometry には次のメソッドがあります。

CGRectIntersectsRect

次のように使用します。

if (CGRectIntersectsRect(myLayer1.frame,myLayer2.frame)) {

//code

}
于 2012-07-11T23:03:17.483 に答える