所以我试图让一些视图旋转但是方法甚至没有被调用,我很沮丧。这是方法:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
我也尝试过:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return ((interfaceOrientation == UIInterfaceOrientationPortrait) ||
(interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}
我的info.plist看起来像这样:
我错过了什么?我已经查看了我在SO中找到的所有答案,但问题仍然存在。
答案 0 :(得分:1)
您可能需要指定info.plist中支持的纵向方向。 (实际上也可以完全删除那些方向键)。
顺便问一下:您正在构建哪种应用?你使用标签栏或导航控制器(他们对方向改变有特定限制)?
编辑:
对于标签栏控制器,要求由它管理的所有控制器都支持给定的自动旋转方向。
答案 1 :(得分:0)
这仅适用于您自己的UIViewController
的子类。对于除NO
之外的所有这些值,Apple的默认实现返回UIInterfaceOrientationPortrait
(显然)。因此,创建一个新文件,使其成为UIViewController
的子类,转到其.m
文件并将其粘贴到:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES; //that's enough
}
然后使用此子类作为视图控制器,旋转将起作用。