uinavigationcontroller导航栏始终隐藏

时间:2012-03-19 20:32:35

标签: ios cocoa-touch uinavigationcontroller

我正在使用最新的SDK和XCode 4.2开发iOS 4应用程序。

我正在使用UINavigationController,我不想显示导航栏。为此,我在AppDelegate上使用此代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
    {
        self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil] autorelease];
    }
    else
    {
        self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil] autorelease];
    }

    navController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
    navController.navigationBar.hidden = YES;

    self.window.rootViewController = navController;
    [self.window makeKeyAndVisible];
    return YES;
}

但是,这一行navController.navigationBar.hidden = YES;不起作用。我在第一个视图控制器上看不到导航栏,但我在其他视图中看到它。

有任何线索吗?

3 个答案:

答案 0 :(得分:3)

我已经实现了以下目标:

  1. 设置navController.NavigationBar.hidden = YES;在分配之后,在AppDelegate中。
  2. 在每个我调用navController的viewController上[navController setNavigationBarHidden:YES animated:YES];上设置viewWillAppear:

答案 1 :(得分:2)

[navController setNavigationBarHidden:YES animated:NO]

文档为here

答案 2 :(得分:0)

我认为必须将navigationBar设置为隐藏在视图上,而不是隐藏在控制器上。