2010-10-16 3 views
1

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

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

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

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

Итак, есть ли способ определить координаты popover?

ответ

1

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

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

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

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

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