获取UIPopoverController的坐标

时间:2010-10-16 05:43:24

标签: iphone uipopovercontroller

我想将UIPopoverController用于浮动工具栏,因为它可以在最佳位置显示。然而它看起来真的很难看,周围有那个粗黑条(而且使用工具栏的逻辑也有点毛茸茸)。

所以我将拥有工具栏的自定义视图。但我不想重新发明所有复杂的位置计算,这些位置计算需要从可能是仿射变换的矩形和/或屏幕的一半进行显示。

所以我想如果我有一个看不见的弹出窗口,我可以使用它的坐标来显示我的工具栏。

我可以通过使用UIMenuController(menuFrame)中的坐标来做我想要的事情,但是当矩形进行仿射变换时,UIMenuController不会显示在最佳位置。

那么有没有办法确定一个弹出窗口的坐标?

1 个答案:

答案 0 :(得分:1)

总是如此 - 寻找好几天,并在我提出答案时立即找到答案:)。

将UIPopoverController使用的viewController视图的帧转换为主视图的坐标。

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

然后将工具栏的view.frame.origin设置为pt。

然后关闭弹出窗口,使其不显示。