2010-12-04 18 views
24

Bir görüntü noktası (CGPoint) ve görünüm hiyerarşisinde bir yerde bulunan bir görünüm (UIView) düşünün (diğer görünümlerin alt görünümü olabilir).CGPoint göreceli olarak görülebilir

Noktayı, görünümün koordinatlarına göre bir noktaya nasıl dönüştürebilirsiniz?

cevap

52

Birincisi, ekrandan noktasını dönüştürmek ana pencerenin koordinatlarına koordinatları:

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

İkincisi, Coords görüntülemek için pencere coords gelen noktayı dönüştürmek:

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

Teşekkür Ole! Bu hile yaptı. – hpique

+0

Bir kaç hafta önce :) – jowie

+1

+ 1'in bilinmesini isterdim - bu tamamen benim pastamı kurtardı, kendimle uğraştıktan sonra, ne olduğu ortaya çıktı, tam olarak bunun yeniden uygulanması. Güzel! :) – Olie

İlgili konular