Objective c 导航栏设置为不可见,但单击“上一步”按钮时,它会出现

Objective c 导航栏设置为不可见,但单击“上一步”按钮时,它会出现,objective-c,ios,uinavigationcontroller,uinavigationbar,Objective C,Ios,Uinavigationcontroller,Uinavigationbar,正如标题所示,根视图是我的导航控制器,它被设置为不可见,这是在启动时。但是,如果我将视图推到堆栈上,然后将其弹出,则会出现导航栏 关于为什么以及如何补救这种情况的任何线索?每当控制器的视图出现(或消失)在屏幕上时,您需要将其隐藏起来。这是必要的,因为该条在不同的推/弹出操作之间保持状态。例如,如果在第一个控制器中将其设置为隐藏在viewdiload中,在第二个控制器中将其设置为可见,则当弹出第二个控制器时,该条将显示您设置的最后一个状态 例如,覆盖视图将出现和视图将消失方法并隐藏/取消隐藏其中的

正如标题所示,根视图是我的导航控制器,它被设置为不可见,这是在启动时。但是,如果我将视图推到堆栈上,然后将其弹出,则会出现导航栏


关于为什么以及如何补救这种情况的任何线索?

每当控制器的
视图出现(或消失)在屏幕上时,您需要将其隐藏起来。这是必要的,因为该条在不同的推/弹出操作之间保持状态。例如,如果在第一个控制器中将其设置为隐藏在
viewdiload
中,在第二个控制器中将其设置为可见,则当弹出第二个控制器时,该条将显示您设置的最后一个状态

例如,覆盖
视图将出现
视图将消失
方法并隐藏/取消隐藏其中的栏

- (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];    
}