在 iPhone 上将方向设置为纵向

Posted

技术标签:

【中文标题】在 iPhone 上将方向设置为纵向【英文标题】:Set Orientation to Portrait on iPhone 【发布时间】:2010-07-22 12:58:20 【问题描述】:

我有一个包含登录名、3 个表和一个图像的应用程序。

您可以将图像旋转到横向模式,但我想要做的是当按下“返回”按钮并且应用程序返回上一个屏幕时,我是自动旋转以提供纵向视图的应用程序.

有什么办法吗?

【问题讨论】:

如果您遇到奇怪的问题,您可能也需要留意之前的帖子:***.com/questions/3213885/… 【参考方案1】:

对于以前的控制器:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) 
    return YES;

return NO;

【讨论】:

【参考方案2】:

如果之前的视图控制器只支持纵向(参见shouldAutorotateToInterfaceOrientation:),那么它应该会自动旋转。

如果之前的视图控制器支持横向,但如果它最初是纵向的,您希望它旋转到纵向,您可以通过更改shouldAutorotateToInterfaceOrientation: 在导航返回时返回的内容来强制它。我不推荐这个;它是不一致的 UI(而且要弄清楚正在发生什么导航有点乏味)。

有多种方法可以设置视图控制器界面方向(-[UIDevice setOrientation:] 将尝试触发自动旋转),但随后您将进入私有 API 和潜在拒绝领域。

【讨论】:

【参考方案3】:

在您的表格视图控制器中覆盖 shouldAutorotateToInterfaceOrientation: 并仅返回您想要的方向。

这实际上可能不会切换回方向,因此如果仅此一项不起作用,您可能必须在表格视图控制器的 viewWillAppear:viewDidAppear: 方法中在 UIApplication 上调用 setStatusBarOrientation:animated:

【讨论】:

以上是关于在 iPhone 上将方向设置为纵向的主要内容,如果未能解决你的问题,请参考以下文章

Cordova iOS 在单页上将屏幕方向更改为横向

支持iPhone 6和iPhone 6+,具有不同的启动/启动屏幕图像,适用于iPad纵向和横向方向

支持 iPhone 6 和 iPhone 6+,针对 iPad 纵向和横向方向具有不同的启动/启动屏幕图像

IOS6 横向在仅纵向 iPhone 应用程序中从 uiwebview 播放嵌入的 youtube 视频

当我在 iPhone 上将字体大小设置为低于 16px 时,IOS 会自动放大

iPhone / iPad 通用应用程序方向