我在我的应用程序中使用拆分视图,并在纵向模式下在弹出控制器中显示UIModalPresentationFormSheet样式的对话框,但在我旋转到横向模式后,对话框自动消失。我不希望它消失,我希望用户可以在旋转后使用对话框,我该怎么办?
我发现如果我第一次以横向模式呈现对话框,对话框在旋转到纵向模式后不会消失,这很奇怪。
任何提示或帮助都将受到高度赞赏。
答案 0 :(得分:3)
iOS会尝试自动重定位视图,但这取决于弹出窗口的显示位置。来自文档
如果用户在弹出窗口可见时旋转设备,则弹出窗口 控制器隐藏弹出框,然后在结束时再次显示它 回转。弹出控制器尝试定位弹出窗口 适合你,但你可能需要重新呈现或隐藏它 在某些情况下完全一样。例如,从条形图显示时 按钮项,弹出控制器自动调整位置 (以及可能的大小)弹出窗口来考虑更改 条形按钮项的位置。但是,如果您删除栏 旋转期间的按钮项,或者如果您显示了弹出框 视图中的目标矩形,弹出控制器不会尝试 重新定位popover。在这些情况下,您必须手动隐藏 弹出或从适当的新位置再次出现。您可以 在视图的didRotateFromInterfaceOrientation:方法中执行此操作 你用来呈现弹出窗口的控制器。
答案 1 :(得分:1)
我用这种方式解决了这个问题: 从分割视图控制器而不是弹出窗口显示视图,每当我旋转设备时视图都不会消失