我经常看到这样的代码:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return YES;
}
如果在项目配置中设置了支持的方向,那么总是返回 YES 不是毫无意义吗?或者在某些情况下这会产生影响?
我经常看到这样的代码:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return YES;
}
如果在项目配置中设置了支持的方向,那么总是返回 YES 不是毫无意义吗?或者在某些情况下这会产生影响?
shouldAutorotateToInterfaceOrientation:
UISupportedInterfaceOrientations
(顺便说一句,自 iOS 6 以来已弃用)与 info plist 中的完全不同!如果您不实现此方法,则相应的视图控制器将永远不会自动旋转到该界面方向,无论您在UISupportedInterfaceOrientations
.
从以下文档UISupportedInterfaceOrientations
:
系统使用此信息(以及当前设备方向)来选择启动应用程序的初始方向。
也许在您的应用程序的许多部分中,您支持多种界面方向,但在一部分中您只支持其中一些(例如,您希望视频只在横向播放)
因此,即使您的应用程序支持纵向,您可能希望视图控制器使方向横向
编辑:我在这里发表评论是因为我无法评论其他答案。
@daniel-rinser 在 iOS6 中,系统检查项目支持的界面方向,并与 viewcontroller 支持的方向相交,因此它不仅适用于启动,而且适用于所有应用程序执行。