在导航控制器和TabBar中旋转单个屏幕

时间:2011-03-23 18:17:33

标签: iphone ios rotation

我有一个导航控制器和TabBar。我想知道iPod应用程序如何处理,只允许播放屏幕旋转。我试图在iOS 4.2上复制它,如果那个屏幕旋转到横向并且您导航回来,那么旧屏幕也是如此。这是不受欢迎的......无论如何都要使第二个屏幕旋转而不会导致其他屏幕或任何其他TabBars视图控制器这样做?

感谢。

2 个答案:

答案 0 :(得分:1)

  1. 确保您的可旋转视图在shouldAutorotateToInterfaceOrientation:UIViewController的方法中返回YES。
  2. 确保您的非旋转视图在shouldAutorotateToInterfaceOrientation:UIViewController的方法中返回NO。
  3. 子类UITabBarController,覆盖shouldAutorotateToInterfaceOrientation:并根据当前UIViewController的shouldAutorotateToInterfaceOrientation:返回值来处理此处的旋转。您还必须检查当前视图控制器是否为UINavigationController,如果是,您还必须从UINavigationController获取当前视图控制器。
  4. 不建议这样做(我的意思是UITabBarController的子类化),但是如果并非所有UIViewControllers都允许旋转,UITabBarController禁止旋转。

答案 1 :(得分:0)

您需要说明在第二个屏幕中,设备方向仅是所需的屏幕方向。因此,对于您创建的每个控制器,您都需要实现shouldautorotatetointerfaceorientation: