在我的mainwindow.xib中,我有一个导航控制器。在(作为子项)之上,我还有另一个viewcontroller(homeviewcontroller)。

在笔尖中,我已将窗口的rootviewcontroller设置为此导航控制器。

这已部署到应用程序商店并完美运行。

由于升级到ios6 sdk,我遇到了方向问题-基本上,通过这种设计,在ios 6设备/模拟器中运行我的应用程序时,不会调用homeviewcontroller的supportedInterfaceOrientations方法。

为了解决此问题,我需要将homeviewcontroller设置为窗口的rootviewcontroller,但这不是我想要的-我需要navigationcontroller。

如何解决ios6中的这个烦人的bug?

更新:

我也尝试过以编程方式执行此操作-仍然无法正常工作。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    HomeViewController *homeVC = [[HomeViewController alloc]init];
    UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:homeVC];
    [self.window setRootViewController:navController];

    [self.window makeKeyAndVisible];

    return YES;
}

最佳答案

您需要将UINavigationController子类化,并在那里重写supportedInterfaceOrientations。

07-26 06:57
查看更多