Xcode UIPopovercontroller与UIButton分离

Xcode UIPopovercontroller与UIButton分离,xcode,ipad,ios,uibutton,uipopovercontroller,Xcode,Ipad,Ios,Uibutton,Uipopovercontroller,我遇到了一个问题,一个独立的UIPopovercontroller,我希望有人见过这种行为之前 我的应用程序以横向模式运行,并使用presentPopoverFromRect调用提供许多popover元素。有些是从俯视图中启动的,而另一些则是从深埋在显示屏中的视图中显示的。如果从iPad显示屏的上2/3位置显示popover,则popover似乎工作正常。但是,当尝试从显示屏的下1/3位置启动popover时,popover显示与UIButton分离。X坐标看起来是正确的,但是POPOFE的Y坐

我遇到了一个问题,一个独立的UIPopovercontroller,我希望有人见过这种行为之前

我的应用程序以横向模式运行,并使用presentPopoverFromRect调用提供许多popover元素。有些是从俯视图中启动的,而另一些则是从深埋在显示屏中的视图中显示的。如果从iPad显示屏的上2/3位置显示popover,则popover似乎工作正常。但是,当尝试从显示屏的下1/3位置启动popover时,popover显示与UIButton分离。X坐标看起来是正确的,但是POPOFE的Y坐标趋向于在iPad屏幕的中间或顶部。 我一直在使用固定位置展示popover,在显示屏的下1/3处创建CGRect对象,但当iPad渲染popover时,它要么在视图的上2/3处渲染popover,要么在屏幕的最底部渲染popover(如果我强制CGRect值为大y值)

在这一点上,我的想法,并希望有人在论坛上看到这一点,或可以提出建议,以尝试什么

谢谢你的帮助,
Wes

我能够解决我的问题,并认为如果其他人有同样的问题,我会分享我的解决方案

解决方案是在调用presentPopoverFromRect之前添加一个设置popover大小的调用

[mySettingsPopoverController setPopoverContentSize:CGSizeMake(320, 320) animated:YES];
[mySettingsPopoverController presentPopoverFromRect:sender.frame inView:self.navigationButtonsView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
之前,我没有在展示popover之前设置popover内容大小。在popover的viewcontroller的ViewDidDisplay方法中,我将popover的大小调整为popover中的tableview。显然,通过在呈现popover之前不设置PopoOverContentSize,您会得到未定义的行为,包括可能使popover与假定要附加到的元素分离


Wes

您是否已将PopOverErrorDirection设置为使用任何方向?嗨,Nevin,谢谢您的回复。是,箭头方向设置为UIPopoverArrowDirectionAny。