0

我经常看到这样的代码:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
    return YES;
}

如果在项目配置中设置了支持的方向,那么总是返回 YES 不是毫无意义吗?或者在某些情况下这会产生影响?

4

2 回答 2

1

shouldAutorotateToInterfaceOrientation:UISupportedInterfaceOrientations(顺便说一句,自 iOS 6 以来已弃用)与 info plist 中的完全不同!如果您不实现此方法,则相应的视图控制器将永远不会自动旋转到该界面方向,无论您在UISupportedInterfaceOrientations.

从以下文档UISupportedInterfaceOrientations

系统使用此信息(以及当前设备方向)来选择启动应用程序的初始方向

于 2012-10-30T15:12:44.697 回答
1

也许在您的应用程序的许多部分中,您支持多种界面方向,但在一部分中您只支持其中一些(例如,您希望视频只在横向播放)

因此,即使您的应用程序支持纵向,您可能希望视图控制器使方向横向

编辑:我在这里发表评论是因为我无法评论其他答案。

@daniel-rinser 在 iOS6 中,系统检查项目支持的界面方向,并与 viewcontroller 支持的方向相交,因此它不仅适用于启动,而且适用于所有应用程序执行。

于 2012-10-30T15:13:11.623 回答