如何隐藏根视图中的导航控制器?
请帮助我在根视图中隐藏导航控制器。 我已经find了解决scheme在我需要的每个视图控制器中写[navigationController setNavigationBarHidden:YES]
。 那么,它的工作,但只有第一次:我运行的应用程序,在根视图我没有导航,然后我去第二个视图 – 导航出现,确定。 但后来我在导航控制器中按“返回”,从根视图导航并没有消失。 我和xib一起工作。
在rootViewController中
-(void)viewWillAppear:(BOOL)animated { [self.navigationController setNavigationBarHidden:YES animated:NO]; }
在第二个视图(旁边的rootViewController)
-(void)viewDidLoad:(BOOL)animated { [self.navigationController setNavigationBarHidden:NO animated:NO]; }
试试这个
在你所有的视图控制器上使用这一行代码
[navigationController setNavigationBarHidden: YES animated:YES];
如果不需要animation,则可以执行animation:NO,并在viewDidLoad中添加此代码,或将其添加到viewWillAppear或viewDidAppear。
在你的情况
[navigationController setNavigationBarHidden:YES animated:NO];
在你的rootViewController上,和
[navigationController setNavigationBarHidden:NO animated:YES];
在你的其他viewControllers
隐藏导航栏所有视图控制器的视图都会出现方法。
-(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [navigationCOntroller setNavigationBarHidden:YES animated:animated]; }
我相信你正在使用标签栏控制器。
您的代码正在为第一个视图控制器工作,因为您只有代码。 对于第二个视图控制器,它会默认,因此对于第二个视图控制器,你会看到导航栏。
要隐藏所有视图控制器的导航栏,请将隐藏的代码放在所有视图控制器的viewWillAppear中
-(void)viewWillAppear:(BOOL)animated { [self.navigationController setNavigationBarHidden:YES animated:NO]; }