2013-10-02 116 views
9

我有一个UIPopoverController,里面有一个文本字段。在iOS 6上,当用户点击文本字段并且弹出窗口恰好妨碍了屏幕上的键盘滑动时,弹出窗口会很好地移动。当键盘出现时,UIPopoverController在iOS 7上奇怪地移动

在iOS 7上,它会飞到屏幕的边缘。这很荒谬。

这只是iOS 7中的一个错误吗?有没有办法在iOS 7中控制这种行为之前不存在的行为?

谢谢。

+0

您是否使用了UISplitViewController? –

+0

我有同样的错误,并没有找到解决办法 –

+0

我也面临类似的问题iOS6。所以它不是iOS版本特定的错误。它可能是默认的功能,但它很奇怪。 – ViruMax

回答

7

尝试从UIPopoverArrowDirectionAny在改变permittedArrowDirectionsUIPopoverArrowDirectionLeft | UIPopoverArrowDirectionRight -

(无效)presentPopoverFromRect:(的CGRect)RECT inView:(UIView的*)视图permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections动画:(BOOL)动画;

+0

这看起来似乎可以缓解这个问题......尽管它感觉像是一种解决方案而不是解决方案。但是,谢谢! –

+1

另一种解决方案 - 您可以在键盘显示之前更改弹出大小。看到这个要点https://gist.github.com/pingwinator/7235232 – pingwinator

+0

我遇到了一些问题,UIPopoverController会从正确的矩形表现出来,然后将它自己动画到屏幕上的一个(看似)随机位置。这解决了它。谢谢! – paulrehkugler