我已经阅读了很多关于SO的答案,但我似乎无法在iOS7上进行自动旋转.
我只需要一个视图控制器来旋转,所以我不想在我的Info.plist中设置旋转设置.
据我了解Apple的文档,单个视图控制器可以通过简单地覆盖两个方法来覆盖全局旋转设置(来自Info.plist).Info.plist设置为仅允许Portrait,我的视图控制器实现以下方法:
- (NSUInteger)supportedInterfaceOrientations
{
NSLog(@"%s", __PRETTY_FUNCTION__);
return UIInterfaceOrientationMaskAllButUpsideDown;
}
- (BOOL)shouldAutorotate
{
NSLog(@"%s", __PRETTY_FUNCTION__);
return true;
}
Run Code Online (Sandbox Code Playgroud)
我在旋转时看到那些NSLog语句但没有旋转.
如果我使用正确的旋转设置配置Info.plist,我的视图将旋转,但如果我尝试依赖我的视图控制器则不会.
不确定它是否重要,但我试图旋转的视图来自使用自动布局的.xib.
此外,我的ViewController以模态方式呈现,并包含在导航控制器中.我试过单独呈现视图控制器,但这不起作用.我也尝试在UINavigationController中添加一个类别,以便从它的topViewController获取它的自动旋转方向.