我有一個UIView
,用戶可以點擊UIView
來'選擇'或突出顯示它所代表的應用內'東西'。我使用CGRectContainsPoint(thing.frame,tapPoint)
來實現此目的,其中thing.frame
是UIView
的幀,而tapPoint
是來自UITapGestureRecognizer
的分接點。這工作完美。如何在旋轉的UIView中使用CGRectContainsPoint()
..當通過設置transform
屬性(具有CGAffineTransform
值)來旋轉UIView
時除外。當UIView
像這樣旋轉時,frame
變成封裝旋轉視圖的扁平正方形。
這是問題的圖示(幀屬性被標記爲A,和視覺UIView
bounds
被標記爲B):
當不旋轉
+------------------+
| A == B |
+------------------+
旋轉時
+-----------------+
| A . |
| . . |
| . . |
| . . |
| . B . |
| . . |
| . . |
| . |
+-----------------+
我想c在旋鈕B
(旋轉的真實邊界)範圍內的爆破敲擊,但不是當它們僅在矩形A
(frame
屬性的值UIView
)而不是當在B
時。
我該如何計算給定的分接點是否在旋轉的UIView
的真實邊界/框架/邊界內?有沒有一個方便的方法呢?或者我需要使用我自己的幾何圖形來計算B
的座標和尺寸?
(如果是後者,請包括一個建議,以便我們能夠做出回答儘可能完整。謝謝!)
+1的方法問題是格式化。 – iDev