Получение координат UIPopoverController - PullRequest
1 голос
/ 16 октября 2010

Я хочу использовать UIPopoverController для плавающей панели инструментов, так как он хорошо работает при отображении в лучшем из возможных мест. Тем не менее, это выглядит очень некрасиво, с толстой черной полосой вокруг него (а также с логикой использования его для панели инструментов, немного шероховато).

Так что я собираюсь иметь собственный вид для панели инструментов. Но я не хочу заново изобретать все сложные вычисления положения, необходимые для отображения из прямоугольника, который может быть аффинно-преобразованным, и / или наполовину за пределами экрана.

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

Я могу делать то, что хочу, используя координаты из UIMenuController (menuFrame), но UIMenuController не отображается в лучшем положении, когда прямоугольник аффинно-преобразован.

Так есть ли способ определения координат поповера?

1 Ответ

1 голос
/ 16 октября 2010

Всегда так - ищи дни, и найди ответ, как только я его спрошу :).

Преобразование кадра представления viewController, используемого UIPopoverController, в координаты основного представления.

CGPoint pt = [popoverViewController.view convertPoint:popoverViewController.view.frame.origin toView:mainView];

Затем установите для view.frame.origin панели инструментов значение pt.

Затем отклоните поповер, чтобы он не показывался.

...