iOS 6可以为UITabBarController中的不同视图控制器锁定不同的方向吗?

时间:2013-03-13 18:28:42

标签: ios6 uitabbar uiinterfaceorientation

我在我的iOS 6应用程序中遇到了一个不同的问题。我有一个用于窗口的rootviewcontroller的UITabBarController,然后我在这个tabbBarController中有4个uiviewcontrollers,现在我想要两个只是显示“UIInterfaceOrientationMaskPortrait”,以及另外两个显示在“UIInterfaceOrientationMaskLandscape”中,问题是当我从“UIInterfaceOrientationMaskPortrait”中显示的那个点击到另一个是UIInterfaceOrientationMaskLandscape的viewController时,然而新选择的viewcontroller仍然是“UIInterfaceOrientationMaskPortrait”,但是当我旋转设备时,新的选定的视图控制器旋转到“UIInterfaceOrientationMaskLandscape”.....

有什么方法可以让tabbarviewcontroller在我点击不同的viewControllers时可以自动旋转?

下面是我的代码: 我让alerady在TR_UITabViewController.m中使用了UITabBarController的子类

-(NSUInteger)supportedInterfaceOrientations
{
    return [self.selectedViewController supportedInterfaceOrientations];
}

-(BOOL)shouldAutorotate
{
    return  [self.selectedViewController shouldAutorotate];
}
  1. 也在appdelegate.m中我实现了方法

    • (NSUInteger)应用程序:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { NSUInteger orientationations = UIInterfaceOrientationMaskAllButUpsideDown;

      如果(self.window.rootViewController){     UITabBarController * presentsViewController =(UITabBarController *)self.window.rootViewController;     UIViewController * currentVC = presentsViewController.selectedViewController;

      NSLog(@"currentVC info:%@",[currentVC description]);
      if ([currentVC isKindOfClass:[UIViewController class]]) {
          orientations = [currentVC supportedInterfaceOrientations];
         // self.tabBarController.=[currentVC supportedInterfaceOrientations];
      
      } else if([currentVC isKindOfClass:[UINavigationController class]]) {
      
          UINavigationController * nvc=(UINavigationController*)currentVC;
          UIViewController * vc=nvc.topViewController;
      
       orientations = [vc supportedInterfaceOrientations];
      }
      

      }

      返回方向; }

  2. 3.最后我在每个视图控制器中编写了以下两种方法 - (BOOL)shouldAutorotate; &安培; - (NSUInteger)supportedInterfaceOrientations

    在世界上,有人知道如何在tabbarviewcontroller中点击不同的视图控制器时强制更改方向吗?

0 个答案:

没有答案