2010-12-13 6 views
0

CGRectContainsRectとCGRectIntersectsRectのオーバーヘッドの種類を知っている人はいますか?長方形を比較する

私はユーザーのジェスチャーを追跡してテストしようとしていますが、おそらく両方の組み合わせを使用する必要がありますが、その影響についてはわかりません。

5つの正方形のグリッドを想像し、ユーザーが2

簡単に正方形の1からのラインを描いたかどうかをテストしたい、CGRectContainsRectは正方形の1と2

に描くなかった場合、私は知ることができます

もしそれらが四角形1,2および3で描かれていれば、CGRectContainsRectがNOと言うように同じテストがfalseを返します。

OKいいえ四角形1,2,3で描画をテストしたいとし、ユーザーが四角形1と2だけを描画するとCGRectContainsRectはYESを返します。ユーザーストロークが正方形1,2と3 ........実際には正方形ではないので、誤った読みが得られます!

+0

Checkout hitTestを使用すると、タッチが特定のUIView内にあるかどうかを確認できます。実際、矩形を比較するよりも簡単なアプローチは、ジェスチャ認識プログラムを書くことです。あなたの説明から、これは、ユーザが四角形を横切って指を動かすとトリガされるカスタムジェスチャのように見え、タッチされた四角形が順番に記録されます。 – Anurag

+0

フレームごとに***千の***を使うことができ、パフォーマンスについても考え始めることさえできません。それは問題ではない。 – Fattie

答えて

1

それぞれの5つの四角形を繰り返して、それぞれのCGRectIntersectsRectをチェックできます。大規模な四角形の配列では、これは非常に非効率になるかもしれませんが、私の頭の上から離れて、私が考えることができる最善の方法です。

+0

あなたの答え、すばらしい助けに感謝します;-) – user7865437