タッチ位置の座標系
-[UITouch locationInView:] の引数を nil とすると Windowの座標系でタッチ位置が取得できる。[参考情報] UITouch Class Reference より引用:
Parameters
view
The view object in whose coordinate system you want the touch located. A custom view that is handling the touch may specify self to get the touch location in its own coordinate system. Pass nil to get the touch location in the window’s coordinates.
Windowの座標系はデバイスの向きに依存する。こんな感じ。
横向きにすると...
左下が原点になる(デバイスとして見ればあくまでも左上)。
明示的にビューを指定すれば原点は常に左上となる。
画面を回転しても原点位置は変わらない。
結論
-[UITouch locationInView:]の引数は nil とせず、通常はきちんとタッチ対象のビューを指定するのが良い。
Responses
Leave a Response