5

在此处输入图像描述

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


}

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

这是一个屏幕截图,当它略微显示时。

我使用此代码在视图中隐藏导航栏。但是当视图开始时,它会给我带来导航栏存在的效果。

但是,我想删除此效果或仅删除此视图的导航栏。

4

4 回答 4

16

如果您使用情节提要,请确保未选中绿色箭头突出显示的字段 属性检查器

选项 2

将下面的代码行放入didFinishLaunchingWithOptions

[self.navigationController setNavigationBarHidden:YES]; –
于 2013-09-20T11:59:24.843 回答
3

要记住的是视图将按特定顺序绘制,并且它们会受到导航栏的独特影响。根据您隐藏导航栏的时间,您的其他视图可能会更改大小或位置。

试着把它放在 viewDidLoad 中:

self.navigationController.navigationBarHidden = YES;

然后,在 viewWillAppear 中,添加您的视图放置和配置代码。

此策略将首先删除导航栏,然后相应地正确放置和调整您的资产。

快乐编码!

于 2014-08-20T15:30:06.477 回答
2

请使用它[self.navigationController setNavigationBarHidden:YES];self.navigationController.navigationBarHidden = YES;在您想要隐藏的视图中隐藏导航栏。

于 2013-09-20T11:35:35.440 回答
1

使用这可能对您有帮助

    -(void)viewWillAppear:(BOOL)animated{
    self.navigationController.navigationBarHidden = YES;
于 2013-09-21T06:37:52.893 回答