我有一个项目,其中所有视图都只是纵向,除了一个只有横向而没有自动旋转的视图。 我在项目设置中将支持的方向设置为纵向和横向。然后我为每个视图控制器设置这些函数:
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationLandscapeLeft; // or Right of course
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
-(BOOL)shouldAutorotate
{
return NO;
}
但它不起作用。模拟器允许所有视图旋转,并且似乎完全忽略设置。 我做错了什么,或者它是模拟器中的错误?
答案 0 :(得分:1)
最有可能的问题是你在info.plist中定义了允许的方向,它覆盖了代码中指定的任何内容。
因此,您可能需要从info.plist中删除条目。
答案 1 :(得分:0)
我最后不得不使用一些黑客来使它工作: 我把这一行放在viewDidLoad中: self.view.transform = CGAffineTransformMakeRotation(M_PI / 2); 现在一切正常