2011-06-15 16 views
9

Bir ipad/iphone uygulamasında bir denetimin mutlak konumunu alabileceğinizi merak ediyorum. Örneğin. Bir çocuğun bir çocuğun içinde olan bir TextField var. Üst Üst Görünüm ile ilgili olarak X ve Y değerlerini bilmek istiyorum (örneğin şu anda metin alanı 10 ve 10'un x ve Y değerleridir, çünkü bu, kendi görünümü dahilinde çerçeve konumudur, ancak bunu ilgili olarak bilmek istiyorum. X = 10 ve Y = 220 gibi bir şey olması gereken ebeveyn. Her nasılsa genel bir yöntem yapmalıyım. Umarım bu mantıklıdır.Objektif C IPad Uygulamasında herhangi bir Denetimin Mutlak yerini alın

Herhangi bir fikrin var mı?

cevap

28

-[UIView convertPoint:toView:] ürününü incelemektesiniz.

Örneğin, onun pencerenin taban koordinatlar cinsinden bir bakış view kökeni almak için şu yazılır:

CGPoint localPoint = [view bounds].origin; 
CGPoint basePoint = [view convertPoint:localPoint toView:nil]; 

yerine başka bakış koordinat sistemine noktasını dönüştürmek istiyorsanız aynı pencere içinde, bunun yerine nil ait toView: argüman olarak bu görünümü kullanabilirsiniz: farklı koordinat sistemleri Çünkü farklı ölçeklerde olabilir

NSAssert([view window] == [otherView window], 
     @"%s: Views must be part of the same window.", __func__); 
CGPoint otherPoint = [view convertPoint:localPoint toView:otherView]; 

, senbulabilir Koordinatlarla ne yapmayı planladığınıza bağlı olarakdaha kullanışlı. Hem nokta hem de rect dönüştürme yöntemlerinin benzer -fromView: sürümleri vardır.

+1

Noktayı içeren görünümden haberdar/erişemiyorsanız ne olacak? –

İlgili konular