关于 iPhone 方向和固件:始终强制方向

Posted

技术标签:

【中文标题】关于 iPhone 方向和固件:始终强制方向【英文标题】:Regarding iPhone orientation and firmware: Always force orientation 【发布时间】:2010-08-23 11:56:39 【问题描述】:

最近,我收到来自 QA 人员的短信,说开发的应用程序在 iPhone 3 上的方向不正确,而在 ios 4 上可以正确显示。他们说在 iOS 3 上,应用程序的方向是纵向视图,这使应用程序在下方留下灰色空间。但是,他们声称在 iOS 4 上,方向是正确的。

我在我的 3GS 上测试他们的声明(使用 iOS4)。我的应用程序总是在我的 iPhone 上正确呈现。这很奇怪,因为:

    该应用在iOS4发布之前就已经开发完成,旋转代码保持不变。这意味着过去 iOS3 的轮换工作正常。 我使用基本 3.2.3 版本运行我的应用程序,但我无法生成 QA 声称的内容。这适用于模拟器(在 iOS 3.2.3 和 4 上测试)和实际设备。 (使用 iOS4) 从 iOS3 开始旋转就可以工作了,它也可以在我的 iPhone 上的 iOS4 上工作。

这是一个非常奇怪的案例,并且无法重现 QA 声称的错误。所以在这种情况下,我需要一些建议,你能列出所有的定向方法吗?当然,这有点矫枉过正,但由于无法重现他们的主张,我真的需要一种方法来强制应用始终强制在横向视图上进行定向。

所以我记下了以下内容:

为横向方向编辑初始界面方向的 plist。 应用程序 setStatusBarOrientation 方法。可能在 ViewController 的 viewWillAppear 方法中执行此操作。 在方法:shouldAutoRotateToInterfaceOrientation 中,仅设置所需的方向。

非常感谢任何帮助。

【问题讨论】:

【参考方案1】:

好的,在我自己尝试之后,我想我现在知道真正发生了什么。方向已经总是在横向上,我所需要的只是手动翻译旧 iOS 的视图。我想,iOS4 似乎足够聪明来处理这个问题?

【讨论】:

【参考方案2】:

如果您的轮换代码设置正确,您应该需要有任何版本的特定情况。如果视图没有对 shouldAutoRotateToInterfaceOrientation: 回复 YES:对于您想要的方向,您将获得自动旋转的意外结果。

【讨论】:

“你应该需要有任何版本特定的情况”?我认为,你的意思是,“你不应该有任何版本特定的情况”。

以上是关于关于 iPhone 方向和固件:始终强制方向的主要内容,如果未能解决你的问题,请参考以下文章

修改 iPhone 以仅强制横向方向 [重复]

xCode:iPad 的强制方向

在一个模式视图控制器上强制 iOS 方向为横向

Cordova 3.5.0 中的 iPhone 屏幕方向没有改变

无论方向如何,有啥方法可以让 UIToolbar 始终位于设备的物理顶部?

iOS (iPhone/iPad) SDK - 应用程序不改变方向