仅在横向模式下锁定应用程序

Posted

技术标签:

【中文标题】仅在横向模式下锁定应用程序【英文标题】:Locking app in landscape mode only 【发布时间】:2011-06-07 04:10:02 【问题描述】:

在我的应用程序中,我的应用程序只能在横向模式下启动。因此,我已经这样做了:-

return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);

但是我的应用程序也尝试首先以纵向模式加载,并且在此过程中屏幕看起来正在拉伸。我错过了什么吗?请建议。任何帮助将不胜感激

谢谢, 克里斯蒂

【问题讨论】:

【参考方案1】:

您说上面的代码在-(void)willRotateToOrientation 中,而它应该放在-(BOOL)shouldRotateToOrientation 中。

假设这是一个拼写错误,请将 Info.plist 文件中支持的方向设置为 LandscapeRight 和 LandscapeLeft。

【讨论】:

你做到了,但我的应用在加载时仍然是,它会尝试以纵向模式加载屏幕 Default.png 是否按预期加载? 好的,我必须在 applicationdidfinish 启动中写下这一行:-application.statusBarOrientation = UIInterfaceOrientationLandscapeRight;成功了【参考方案2】:

只是为了确保克里斯蒂娜在 cmets 中对另一个答案的修正不会错过:

application.statusBarOrientation = UIInterfaceOrientationLandscapeRight

我在 didFinishLaunching 应用程序委托函数中添加了这个,它似乎强制刷新视图控制器,在我的情况下确保 OpenGL 帧缓冲区以正确的尺寸创建,但奇怪的是我必须添加这个。

【讨论】:

以上是关于仅在横向模式下锁定应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何仅在横向模式下限制 j2me 应用程序

横向模式下的闪屏

锁定视图以最初在横向(仅横向)目标-C 中启动

如何使用 UIButton 上的代码解锁横向模式?

如何将视图从纵向模式更改为横向模式并锁定它?

iPad应用程序首先进入纵向模式,然后在解锁屏幕后进入横向模式,在锁定时处于横向模式