如何始终将视图控制器保持在纵向模式?

Posted

技术标签:

【中文标题】如何始终将视图控制器保持在纵向模式?【英文标题】:How can I always keep a view controller in portrait mode? 【发布时间】:2013-01-07 20:12:58 【问题描述】:

这是最简单的解释方式,请记住视图嵌套在导航控制器中:

1.) 应用程序启动,无论设备处于何种方向,应用程序都是纵向的。我的 shouldRotate 方法返回 no,所以它永远不会旋转。

2.) 我点击一个按钮,转到另一个视图并将其转为横向(这很好)

3.) 在另一个视图中处于横向时,我点击了导航控制器上的“后退”按钮,它会将我返回到我不想横向旋转的视图控制器。

有什么好方法可以让我的主视图控制器始终保持纵向,而来自横向视图控制器?

谢谢!

【问题讨论】:

【参考方案1】:

如果您的设计允许,您可能只想隐藏后退按钮,直到应用旋转回纵向。这将迫使它们在返回时处于您需要的方向。

【讨论】:

我这样做了,但我认为这将是糟糕的设计并且看起来有点像一个错误。也许灰色的后退按钮?不确定,但我希望有更优雅的方式来做到这一点。 问题在于,即使您能够强制定向,它仍然看起来很糟糕,因为用户将设备以不正确的方向握住并且它看起来也像一个错误。我自己做过这种方法,但它是用于全屏视频功能,所以它作为一种解决方案是可以接受的

以上是关于如何始终将视图控制器保持在纵向模式?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个同时支持横向和纵向但不在它们之间旋转的视图控制器(保持其初始方向)

如何将视图从纵向模式旋转到横向模式

如何在 xcode 故事板中以横向模式显示场景?

视图控制器处于横向模式,但我从纵向模式获取框架?

禁用 iPhone 中键盘的方向

主视图控制器在点击项目并快速将方向从纵向更改为横向后消失