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