Iphone UITabBar和视图控制器旋转问题

Iphone UITabBar和视图控制器旋转问题,iphone,objective-c,ios4,Iphone,Objective C,Ios4,我有一个带有两个条形项目的uitabar。设备的初始方向为纵向。如果我在tabBarItem2时将设备旋转到横向,整个过程(状态栏、选项卡栏、ViewContent2)旋转良好,但当我按下tabBarItem1时,ViewContent1仍处于纵向。如果我在tabBarItem1中,然后将设备旋转到横向,然后转到tabBarItem2,也会发生这种情况 我在每个视图控制器上使用willRotateToInterfaceOrientation方法来移动对象 我认为这是因为它触发了实际的viewCo

我有一个带有两个条形项目的
uitabar
。设备的初始方向为纵向。如果我在
tabBarItem2
时将设备旋转到横向,整个过程(状态栏、选项卡栏、
ViewContent2
)旋转良好,但当我按下
tabBarItem1
时,
ViewContent1
仍处于纵向。如果我在
tabBarItem1
中,然后将设备旋转到横向,然后转到
tabBarItem2
,也会发生这种情况

我在每个视图控制器上使用
willRotateToInterfaceOrientation
方法来移动对象

我认为这是因为它触发了实际的viewController的
willRotateToInterfaceOrientation
方法,而不是在两者上


有没有办法解决这个问题?

两个视图控制器都需要

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return YES;
}

他们两个身上都有。但我通过将旋转代码放在shouldAutoRotate方法而不是willRotate方法中解决了这个问题。谢谢。理想情况下,您不应该在这里放置旋转代码。您应该将它放入
willAutorotate…
didAutorotate
,但很高兴您让它工作了。