2010-12-04 4 views
24

ビューポイント(CGPoint)とビュー(UIView)は、ビュー階層のどこかにあります(他のビューのサブビューになることもあります)。ビューに対するCGPoint

ポイントをビューの座標に相対的なポイントに変換するにはどうすればよいですか?

答えて

52

まず、画面からポイントを変換すると、あなたのメインウィンドウの座標に座標:

UIWindow *mainWindow = [[UIApplication sharedApplication] keyWindow]; 
CGPoint pointInWindowCoords = [mainWindow convertPoint:pointInScreenCoords fromWindow:nil]; 

第二には、COORDSを表示するウィンドウCOORDSからポイントを変換:

CGPoint pointInViewCoords = [myView convertPoint:pointInWindowCoords fromView:mainWindow]; 
+0

おかげでオレ!それがトリックでした。 – hpique

+0

私は数週間前にそれを知っていたでしょう:) – jowie

+1

+1 - これは自分のベーコンを完全に保存しました。私は自分自身を酷使していましたが、それはまさにその再実装でした。ニース! :) – Olie

関連する問題