0

我想添加功能来更改我的应用中各种视图的屏幕方向。看了各种教程,我在我的每个视图控制器的实现shouldAutorotateToInterfaceOrientation方法,并得到了他们每个人的调用返回是的,以及登录到控制台,像这样:尽管调用shouldAutorotateToInterfaceOrientation,屏幕方向不会改变

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    NSLog(@"shouldAutorotateToInterfaceOrientation called"); 
    return YES; 
} 

当我运行这个在模拟器上改变方向,我得到日志消息,但屏幕上没有任何变化。我试图找出如何发生这种情况,但我看过的每个地方都说问题与未被调用的方法相关联,即使它在我的情况下。有任何想法吗?

感谢

+0

你确定每一个在屏幕上的视图控制器都从这里返回YES吗?即使是不支持旋转的单个视图控制器也可以防止整个事物旋转。 –

+0

你有没有尝试重新启动Xcode?它发生在我身上一次,它做到了。如果没有,您可以在应用程序委托中创建一个类别来覆盖should auto旋转方法。如果重新启动和清除不起作用告诉我,我会告诉你如何在应用程序委托中覆盖它。 –

+0

你能告诉我关于viewcontroller结构吗? 你正在查看的是singleViewcontroller?或者...... viewController内部的其他viewController? –

回答

2

我需要知道在你的代码是您使用的代码或每隔的.xib意见。

你也需要设置autorisizing属性每个组件...

0

解决了这个问题:有在代码中被初始化直接的UIViewController对象,而且它改变我自己的简单基类,解决了这个问题。感谢您的建议!