0

質問は....

タップジェスチャを処理する必要があります。

現在、CGPath (各パスには ID があります) によって構築された多くのパスがあり、CGContextAddPath によって面積測定を作成して入力します。パスをタップしても、正しい ID が表示されることを望みます。

したがって、これを行うために touchbegin で CGPathContainsPoint を使用していますが、CGAffineTransform によって面積測定を拡大または縮小すると、(スケーリングされた) パスに触れた場合にも CGPathContainsPoint メソッドは間違った情報 (FALSE) を返します。

どうすれば修正できますか?CGPathContainsPoint メソッドの第 2 引数として CGAffineTransform 要素を追加してみましたが、タッチされたポイントもスケーリングされないため、何も起こりません (代わりに、翻訳に関する同じ問題がこの方法で修正されます!)。

ここでは、簡略化されたコードを見つけることができます

私の英語でごめんなさい(私はイタリア人です):P

事前にThx

4

1 に答える 1

1

わかった!私は問題を見つけました!!! 逆関数を適用する必要があります!!

10でスケーリングする場合、ポイントを1/10でスケーリングする必要があります。

翻訳の場合、10だけドラッグすると、-10だけ後ろにドラッグする必要があります(同じ回転の場合)。

于 2011-09-16T17:31:55.120 に答える