私はを持ってUIViewおり、ユーザーはをタップしUIViewて「選択」するか、それが表すアプリ内の「もの」を強調表示することができます。私はCGRectContainsPoint(thing.frame,tapPoint)これを達成するために使用します。ここthing.frameで、はのフレームでありUIView、tapPointはからのタップポイントUITapGestureRecognizerです。これは完璧に機能します。
..プロパティを(値を使用して)UIView設定して回転する場合を除きます。このように回転すると、回転したビューをカプセル化した平らな正方形になります。transformCGAffineTransformUIViewframe
問題の図を次に示します(フレームプロパティにはAのラベルが付けられ、ビジュアルUIView boundsにはBのラベルが付けられています)。
回転していないとき
+------------------+
| A == B |
+------------------+
回転したとき
+-----------------+
| A . |
| . . |
| . . |
| . . |
| . B . |
| . . |
| . . |
| . |
+-----------------+
Brectの境界(の真の境界、rotated)内にあるタップをキャプチャしたいのですが、 rect(のプロパティの値)UIView内にあり、。ではない場合はキャプチャしません。AframeUIViewB
与えられたタップポイントが回転した真の境界/フレーム/境界内にあるかどうかをどのように計算できますかUIView?これには便利な方法がありますか?Bまたは、自分のジオメトリを使用して座標と寸法を計算する必要がありますか?
(後者の場合は、可能な限り完全な回答ができるように提案を含めてください。ありがとうございます!)
