UIPopoverController - 在缩放/滚动视图中的presentPopoverFromRect?

时间:2012-02-21 21:56:16

标签: uiscrollview uipopovercontroller

我有一个缩放/滚动UIScrollview我可以放置视图(想想绘图对象,圆圈,正方形等)我在那里放置一个正方形并点击并按住,菜单出现,我选择属性。我传入了Rect的square.frame,并且popover看起来很棒,它可以放在UIScrollView中。

现在我缩放UIScrollView,使Square大于屏幕上的可见区域。点击并按住,选择属性,并在某处提供Popover,但不是我能看到的任何地方。

我不确定如何从Square的视角检测它是否大​​于super.view的可见区域放大区域并从不同的Rect呈现Popover。

Zoomed Out,square完全可见,并且在画布上有弹出空间

self.frame:                              {{0, 659.959}, {1846.72, 1388.04}}
self.superview.frame:                    {{0, 0},       {1024,    1024}}
self.superview.superview.frame:          {{0, 44},      {1024,    704}}
self.superview.superview.superview.frame:{{0, 0},       {1024,    748}}

Zoomed In,square覆盖了所有屏幕

self.frame:                              {{0, 659.959}, {1846.72, 1388.04}}
self.superview.frame:                    {{0, 0},       {3180.31, 3180.31}}
self.superview.superview.frame:          {{0, 44},      {1024, 704}}
self.superview.superview.superview.frame:{{0, 0},       {1024, 748}}

最大缩放,虽然滚动,但在画布上有弹出空间

self.frame:                              {{0, 659.96}, {1822.62, 1369.96}}
self.superview.frame:                    {{0, 0},      {4096, 4096}}
self.superview.superview.frame:          {{0, 44},     {1024, 704}}
self.superview.superview.superview.frame:{{0, 0},      {1024, 748}}

在最后一个脚趾上似乎并没有区别,因为它确实告诉广场在屏幕上只有一个可见的smidgin。

欢迎任何建议!

1 个答案:

答案 0 :(得分:0)

它取决于弹出控制器显示的视图,但您可以尝试将方形框架从滚动视图转换为显示弹出窗口的视图

- (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view