旋转 SplitViewController 会弄乱主视图中的工具栏

Posted

技术标签:

【中文标题】旋转 SplitViewController 会弄乱主视图中的工具栏【英文标题】:Rotating SplitViewController messes up toolbar in master view 【发布时间】:2015-04-24 17:28:10 【问题描述】:

我有一个 SplitViewController。在主视图中,我有一个附加到状态栏的工具栏。

当我以横向模式启动应用程序时(主视图可见),它看起来很棒:

我以纵向启动:

纵向启动后,我将屏幕旋转为横向。主视图按原样显示,但工具栏不再附加到状态栏。

如您所见,工具栏现在太小并跑到状态栏中。我正确设置了委托,以告诉工具栏附加到状态栏。这个问题似乎只发生在我纵向启动设备并旋转它时。

我试图通过在 viewWillAppear 中调用 setNeedsLayout 来强制主视图重新布局,但这没有任何区别。

请帮忙!

【问题讨论】:

【参考方案1】:

只是猜测,但请确保在您的视图控制器中正确设置:

- (BOOL)prefersStatusBarHidden

    return NO

【讨论】:

是啊,可惜没有运气。状态栏永远不会被隐藏。只是工具栏不再遵守它应该附加到状态栏并在其下方流动的事实。 IE 工具栏和状态栏的高度应该是 64,但是旋转后它们会撞在一起,最终只有 44 高。 我也有同样的问题,但通常都很好,而且只有在我快速横向和纵向旋转屏幕时才会发生。

以上是关于旋转 SplitViewController 会弄乱主视图中的工具栏的主要内容,如果未能解决你的问题,请参考以下文章

ContainerView中嵌入的iOS7 SplitviewController不旋转

UISplitView 方向问题

UISplitViewController 没有正确旋转

错误 CGImageCreate:无效的图像大小:0 x 0 带有(选择器)窗口旋转

splitViewController 的 barButtonItem 未显示在屏幕上?

SplitViewController 更新详细视图