我正在使用XCode 4.2(带故事板)
我试图只旋转其中一个视图(而不是所有视图),但它似乎没有工作......要么非旋转视图,要么全部旋转
我已经检查了摘要中的所有支持的视图,并且在信息中我确保应用程序“支持的界面方向”都在那里
在与视图相关的类中,我编写了旋转此特定视图的函数:
-(BOOL) shouldAutoRotateToInterfactOrientation:(UIInterfaceOrientation)interfaceOrientation{
return(interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown||
interfaceOrientation != UIInterfaceOrientationPortrait||
interfaceOrientation != UIInterfaceOrientationLandscapeRight||
interfaceOrientation != UIInterfaceOrientationLandscapeLeft)
}
当我旋转屏幕时它仍然没有旋转...任何线索?
答案 0 :(得分:2)
您的方法可以简化为:
- (BOOL)shouldAutoRotateToInterfactOrientation:(UIInterfaceOrientation)interfaceOrientation; {
return YES;
}
您要做的是在所需方向的 所有 中设置设备支持方向,然后在特定视图中使用上述方法允许您希望该视图的方向。因此,例如,如果您只想要特定视图的横向模式,则可以使用:
- (BOOL)shouldAutoRotateToInterfactOrientation:(UIInterfaceOrientation)interfaceOrientation; {
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
希望有帮助!
答案 1 :(得分:1)
在shouldAutorotateToInterfaceOrientation
中,您必须返回您想要支持的所有方向。
因此,如果您希望您的应用仅以纵向方式工作,则可以使用以下代码:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
如果您想支持所有可能的方向:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}