Ios5 在ios 5中的导航控制器中隐藏默认导航栏

Ios5 在ios 5中的导航控制器中隐藏默认导航栏,ios5,uinavigationcontroller,uinavigationbar,storyboard,show-hide,Ios5,Uinavigationcontroller,Uinavigationbar,Storyboard,Show Hide,我正在使用故事板为iOS5编程。 我正在尝试创建一个带有导航控制器的应用程序。 在我的应用程序中,我希望某些视图控制器具有导航栏,而在某些应用程序中,我没有 我使用以下作为我的指导来创建一个 以下是我以编程方式隐藏导航栏的方式: 在MyAppDelegate中,我声明了一个变量: UINavigationController *navigationController; @property (strong, nonatomic) IBOutlet UINavigationController

我正在使用故事板为iOS5编程。 我正在尝试创建一个带有导航控制器的应用程序。 在我的应用程序中,我希望某些视图控制器具有导航栏,而在某些应用程序中,我没有

我使用以下作为我的指导来创建一个

以下是我以编程方式隐藏导航栏的方式:

在MyAppDelegate中,我声明了一个变量:

UINavigationController *navigationController;

@property (strong, nonatomic) IBOutlet UINavigationController *navigationController;
在我的UIViewController(第一个UIViewController)中,我执行了以下操作

- (void)viewDidload
{
    [self.navigationController setNavigationBarHidden:YES animated:YES];
    [super viewDidUnload];

    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}
但这不起作用

我该怎么做呢?

拉杰

尝试将以下两个函数添加到UIViewController:

- (void) viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:animated];
}

- (void) viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
}

故事板
中选择
导航控制器
,转到
属性检查器
,有一个名为
的复选框显示导航栏
,取消选中它

如果在
视图中设置
setNavigationBarHidden:YES
将出现:
,动画(隐藏导航栏)仍将显示


这是主要的区别。

我使用的是ios 4。所以没有故事板