我读过很多关于SO的答案,但我似乎无法在iOS7上使用自动旋转。在iOS7中处理一个视图控制器的自动旋转
我只需要一个视图控制器旋转,所以我不希望在我的Info.plist设置旋转设置。
据我了解苹果的文档,单一视图控制器可以通过简单地重写两种方法覆盖全局的旋转设置(从Info.plist中)。 Info.plist中设置为仅允许肖像,和我的视图控制器实现下列方法:
- (NSUInteger)supportedInterfaceOrientations
{
NSLog(@"%s", __PRETTY_FUNCTION__);
return UIInterfaceOrientationMaskAllButUpsideDown;
}
- (BOOL)shouldAutorotate
{
NSLog(@"%s", __PRETTY_FUNCTION__);
return true;
}
我看到在旋转这些语句的NSLog,但没有旋转。
如果我使用正确的旋转设置Info.plist中,我的看法会旋转,但如果我试图依靠我的视图控制器上。
不知道它的问题,但我想旋转视图是从使用自动布局的.xib。
另外,我的视图控制器被模态呈现,并且包含在导航控制器。我试过只是自己呈现视图控制器,并且不起作用。我也尝试adding a category to UINavigationController从它的topViewController获取它的自动旋转方向。
同样的问题;另外,我想让我的应用程序兼容iOS5,所以我不能使用supportedInterfaceOrientations。我正在使用其他两个函数:shouldAutorotate(返回NO)和shouldAutorotateToInterfaceOrientation(尽管已弃用)。他们甚至都不叫!看起来没有出路! –
我终于放弃了......检查了我的xib,以便视图以一种合理的方式出现在横向方向上...... :-( –