Положение UIViewController - PullRequest
0 голосов
/ 11 мая 2019

Как получить позицию модального UINavigationController на iPad-экране?Я пытался .view.frame, но я всегда получаю координаты 0,0.Размер кажется правильным.Я пытался получить его в viewDidAppear, а также в блоке завершения в настоящем ViewController.

1 Ответ

1 голос
/ 12 мая 2019

Как получить позицию модального UINavigationController на iPad-экране?Я пробовал .view.frame, но всегда получаю координаты 0,0.

Корневой контроллер приложения обычно заполняет все окно приложения, а его кадр выражается в системе координат его суперпредставления., которое является окном.По этой причине неудивительно, что источник прямоугольника рамки находится в точке (0,0), поскольку это верхний левый угол окна.

Теперь окно обычно также заполняет экран, и поэтомуисточник окна также должен быть расположен в (0,0), но он может отличаться, если вы используете приложение в режиме разделенного экрана.

Вероятно, самое простое, что можно сделать, это отобразить представление контроллера представлениядля отображения координат с помощью координатного пространства экрана :

UIView *view = myViewController.view;
UIScreen *screen = view.window.screen;
NSPoint location = [view convertPoint:view.frame.origin
                    toCoordinateSpace:screen.fixedCoordinateSpace];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...