在我的iPad应用程序中,我保存了弹出窗口的状态(可见/不可见)。因此,在应用程序启动期间,我初始化UIPopoverController,并通过使用presentPopoverFromBarButtonItem:permittedArrowDirections:animated:来告诉它显示自己。对于第一个参数(UIBarButtonItem),我使用self.navigationItem.rightBarButtonItem。但是,弹出窗口不断显示在屏幕的左侧(而不是目标按钮的下方)。显示UIPopoverController时奇怪的行为
应用程序启动后,行为如预期。任何建议如何解决这个问题?
为了您的信息,我初始化rightBarButtonItem,并将其分配给navigationItem在viewDidLoad方法,并要求酥料饼提出自己之前。我试图在viewWillAppear和viewDidLoad中调用popover,但效果是一样的。
我最好的选择是使用presentPopoverFromRect:inView:permittedArrowDirections:动画:代替,而“猜测”这取决于设备的方向的位置。
更新:当我旋转的iPad中,酥料饼确实跳转到正确的位置。看来barButtonItem的位置只是在最后一分钟才确定,并且在我问我的popover出现之后。
在viewDidAppear中如何?我有点期待在第一个viewWillAppear:call发生的时候,这些视图还没有实际布置。 – imaginaryboy 2010-09-15 20:12:15
不,没有任何viewWillAppear或viewDidAppear方法的运气。这真是太古怪了。视图确实显示后,我点击右边的ButtonButtonItem,一切都很好。 – 2010-09-15 20:28:13
同样的问题...任何发现? – rjobidon 2010-12-04 03:44:55