iPhone设备方向错误

时间:2010-10-25 10:41:43

标签: iphone ios4

我因为一些奇怪的问题而陷入困境。我一直在寻找谷歌的解决方案,我没有看到任何人有同样的错误。

我的应用程序不想旋转。我正在使用几个viewController,实现了shouldAutoRotateToOrientation方法,但视图控制器不想旋转。

我已完成调试,但方法

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
    return toInterfaceOrientation == UIInterfaceOrientationPortrait;
}
当视图加载时,

仅调用一次,具有UiDeviceOrientationPortrait。 当我改变我的iphone方向时,它不会在任何控制器中调用此方法。

在info.plist中,我在每个方向都放入了“支持接口方向”,但它没有改变任何内容。

我正在使用Three20类,对于一些viewControllers而不是TTNavigator。我也使用ZXIng小部件。我的应用程序是tabBarApplication。我知道只有当tabBar的所有viewContrllers也可以旋转时,tabBar才能旋转。但我希望能够旋转的视图是在模态视图或MPMoviePlayer中。即使是视频仍然停留在肖像。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

你的shouldAutorotateToInterfaceOrientation只为UIInterfaceOrientationPortrait撤回YES。

如果你想让它旋转到每个方向,你需要为每个方向告诉它,而不仅仅是肖像。

试试这个:

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

答案 1 :(得分:0)

我的问题是在aaplicationDidFinishLauching中,我在做:

[window addSubview:_zxingController.view];
[window addSubview:myTabBarController.view];

因此它将zxing View作为基本视图(这是一个无法旋转的视图)。这就是为什么它没有事件尝试通过调用shouldAutorotateToInterfaceOrientation来调用MyTabBarController旋转。

所以现在我做了:

[window addSubview:myTabBarController.view];
[window insertSubView:_zxingController.view atIndex:0];

问题解决了。