2017-04-07 141 views
0

我已经添加了一个NavigationBar与View2与“后退”项目,然后我从该项目Ctrl +拖动到View1添加segue(a show segue)。现在,无论何时使用“返回”导航到View1,我都会在此视图(View1)中获得一个导航栏(带有“返回”项)。我只想要一个导航栏到View2,而不是View1。我总是可以隐藏View1的NavigationBar程序,但我想知道如果我做错了什么。segue将视图添加到视图

回答

1

你需要隐藏内部viewWillAppear中视图1的导航栏,取消隐藏,同时要viewWillDisappear:

视图1:

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    [self.navigationController.navigationBar setHidden:true]; 
} 

- (void)viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 
    [self.navigationController.navigationBar setHidden:false]; 
} 

视图2:

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    [self.navigationController.navigationBar setHidden:false]; 
} 

- (void)viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 
    [self.navigationController.navigationBar setHidden:true]; 
} 

任何一个您可以使用类函数,view1函数或view2函数来隐藏并切换控制器时取消隐藏导航栏。