UIPopoverViewController不会返回其原始位置

时间:2011-07-04 02:54:21

标签: objective-c ipad uipopovercontroller

我已经遇到了UIPopoverViewController for iPad的问题,一旦UITextField成为第一响应者并且键盘弹出,Popover移动到另一个地方,但是如果键盘被解除并且iPad的位置是Landscape Left, Popover没有回到原来的位置。我做了很多研究,这里也​​有一些解释:UIPopoverController not moving to original position after keyboard slides back down

主要的问题是我无法解除弹出窗口并再次检索它,我知道这可能是一个解决办法,但我们团队正在进行的主要项目是不可行的。

这是一个使用上一个Xcode和Beta软件制作的简单项目(您知道NDA限制):http://www.megaupload.com/?d=SGVUV2BU

显示行为的图片很少:

如何在景观上做到:

从按钮弹出:http://i.stack.imgur.com/MydRM.png

显示键盘:enter image description here

回到原位:enter image description here

左侧风景无法恢复:enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用:

- (void)presentPopoverFromRect:rect inView:view permittedArrowDirections:arrowDirections animated:animated

将弹出窗口显示在一个单独的UIView中,其唯一目的是移动弹出窗口。然后订阅UIKeyboardWillShowNotification和UIKeyboardWillHideNotification来设置UIView的动画,这也应该移动弹出窗口。