Iphone 仅在第一个.xib文件上隐藏UINavigationController

Iphone 仅在第一个.xib文件上隐藏UINavigationController,iphone,macos,xcode4.2,Iphone,Macos,Xcode4.2,这可能是一个愚蠢的问题,但我以编程方式将UINavigationController添加到我的应用程序中。如果可能的话,我只想把它添加到我所有窗口的顶部,除了第一个.xib。也许我第一次就把它藏起来。甚至可以这样做吗?我想到了我的第一个.xib文件,它像封面一样打开到我的应用程序的其余部分,我希望蓝色条不会显示在它的顶部。我希望我能给你看照片,但我还没有足够的重复。谢谢 以下是我认为有助于我为应用程序的每个页面提供背栏的代码: #import "McCormick_TaylorViewContr

这可能是一个愚蠢的问题,但我以编程方式将UINavigationController添加到我的应用程序中。如果可能的话,我只想把它添加到我所有窗口的顶部,除了第一个.xib。也许我第一次就把它藏起来。甚至可以这样做吗?我想到了我的第一个.xib文件,它像封面一样打开到我的应用程序的其余部分,我希望蓝色条不会显示在它的顶部。我希望我能给你看照片,但我还没有足够的重复。谢谢

以下是我认为有助于我为应用程序的每个页面提供背栏的代码:

#import "McCormick_TaylorViewController.h"

@implementation McCormick_TaylorAppDelegate

@synthesize window = _window;
@synthesize viewController = _viewController;

- (void)dealloc
{
    [_window release];
    [_viewController release];
    [super dealloc];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    
  (NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]   
    autorelease];
    // Override point for customization after application launch.
    self.viewController = [[[McCormick_TaylorViewController alloc] 
    initWithNibName:@"McCormick_TaylorViewController" bundle:nil] autorelease];
    UINavigationController * navController = [[UINavigationController alloc]  
    initWithRootViewController:self.viewController];
    self.window.rootViewController = navController;
    [self.window makeKeyAndVisible];

    return YES;
}
使用此方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    
(NSDictionary *)launchOptions
 {
 self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]   
 autorelease];
 // Override point for customization after application launch.
 self.viewController = [[[McCormick_TaylorViewController alloc] 
 initWithNibName:@"McCormick_TaylorViewController" bundle:nil] autorelease];
  UINavigationController * navController = [[UINavigationController alloc]  
 initWithRootViewController:self.viewController];
 [navController.navigationBar setHiden:YES]; // hides navigation bar
 self.window.rootViewController = navController;
 [self.window makeKeyAndVisible];
 return YES;
}

在McCormick_Taylorview控制器的
视图中将显示:
方法

只要使用下面的代码

[self.navigationController setNavigationBarHidden:NO animated:YES];
在导航栏的其他视图控制器中显示,然后在另一个视图控制器的视图中显示,只需使用下面的代码

[self.navigationController setNavigationBarHidden:NO animated:NO];

我只有一个视图控制器。其余的是子类。可以吗?我是否应该将您的第二段代码添加到my.m文件中的viewDidLoad?是的,如果您想在加载导航栏时只隐藏导航栏一次,您可以使用它。但是请参见,对于隐藏导航栏,请使用第一段代码;对于可见导航栏,请使用第二段代码……:)好的,它工作了,但唯一的问题是,它回来后,我点击了另一页上的后退按钮,哈哈。无论如何,有没有什么可以阻止第一页显示蓝色的酒吧?顺便谢谢你的帮助!嘿,老兄…对于你的这个要求,我告诉你在你的ViewWillApper方法中使用这个代码,然后当你的this firstview apper navigationbar hide…)使用此方法会删除其余页面上的整个导航栏。我没有办法回去了。有没有办法只在第一页隐藏?在另一个需要导航栏的视图中,将其添加到ViewDidLoad:method[self.navigationController setNavigationBarHidden:NO动画:NO];