shouldAutorotateToInterfaceOrientation返回YES

时间:2012-10-30 15:04:33

标签: ios cocoa-touch ios5

我经常看到这样的代码:

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

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

2 个答案:

答案 0 :(得分:1)

shouldAutorotateToInterfaceOrientation:(顺便说一下,自iOS 6以来已弃用)与信息plist中的UISupportedInterfaceOrientations完全不同!如果您未实现此方法,则无论您在UISupportedInterfaceOrientations中指定了什么,相应的视图控制器都不会自动切换到该接口方向。

来自documentation of UISupportedInterfaceOrientations

  

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

答案 1 :(得分:1)

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

因此,即使您的应用支持肖像,您也可能希望viewcontroller制作方向格局

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

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