在分割视图的弹出控制器中呈现UIModalPresentationFormSheet样式的Dialog在旋转后消失

时间:2011-11-01 03:09:00

标签: ios cocoa-touch uisplitviewcontroller ipad

我在我的应用程序中使用拆分视图,并在纵向模式下在弹出控制器中显示UIModalPresentationFormSheet样式的对话框,但在我旋转到横向模式后,对话框自动消失。我不希望它消失,我希望用户可以在旋转后使用对话框,我该怎么办?

我发现如果我第一次以横向模式呈现对话框,对话框在旋转到纵向模式后不会消失,这很奇怪。

任何提示或帮助都将受到高度赞赏。

2 个答案:

答案 0 :(得分:3)

iOS会尝试自动重定位视图,但这取决于弹出窗口的显示位置。来自文档

  

如果用户在弹出窗口可见时旋转设备,则弹出窗口   控制器隐藏弹出框,然后在结束时再次显示它   回转。弹出控制器尝试定位弹出窗口   适合你,但你可能需要重新呈现或隐藏它   在某些情况下完全一样。例如,从条形图显示时   按钮项,弹出控制器自动调整位置   (以及可能的大小)弹出窗口来考虑更改   条形按钮项的位置。但是,如果您删除栏   旋转期间的按钮项,或者如果您显示了弹出框   视图中的目标矩形,弹出控制器不会尝试   重新定位popover。在这些情况下,您必须手动隐藏   弹出或从适当的新位置再次出现。您可以   在视图的didRotateFromInterfaceOrientation:方法中执行此操作   你用来呈现弹出窗口的控制器。

答案 1 :(得分:1)

我用这种方式解决了这个问题: 从分割视图控制器而不是弹出窗口显示视图,每当我旋转设备时视图都不会消失