convertPoint в координаты окна не работает, как я ожидаю

Мне нужно знать абсолютное положение моего UILabel в координатах окна. Этот UILabel (в приведенном ниже коде — uil) расположен внутри вида с размерами 34 x 174 y системы координат вида)

Я вижу, что многие говорят, что convertPoint следует использовать для получения абсолютных значений. Но после конвертации я получаю CGPoint размером 34 x 174 y. Пока я ожидал координаты относительно окна экрана.

Не могли бы вы объяснить мне, что я делаю неправильно и как получить координаты окна моей метки?

CGPoint cgp = [uil convertPoint:uil.frame.origin fromView:nil];

Спасибо


person user1412042    schedule 18.06.2012    source источник


Ответы (1)


В документации для convertPoint:toView: говорится: «Если вид равен нулю, этот метод вместо этого преобразует в базовые координаты окна». Похоже, вы хотите этого, а не fromView:.

person Phillip Mills    schedule 18.06.2012
comment
Да, спасибо. Это то, что я хочу, но, к сожалению, CGPoint даже с CGPoint cgp = [uil convertPoint:uil.frame.origin toView:nil]; остается в тех же координатах (34 x 174 y) - person user1412042; 18.06.2012
comment
Это неожиданно. Что вы получите, если будете использовать NSLog(@"Super: %@", [uil superview]); в момент преобразования? - person Phillip Mills; 18.06.2012
comment
Привет спасибо за помощь. Я решил, что вместо записи toView:nil я использовал toView:uiv.superview, где uiv — это представление, содержащее метку. - person user1412042; 19.06.2012