我有一个uinavigationcontroller,我用UIViewController1,UIViewcontroller2推送UIPageViewController,....! 我想在UIViewController1上安装导航栏,但在其他UIViewController上没有。 所以在第一个UIViewController1上我会:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:NO animated:NO];
}
和另一个UIViewController2,UIViewController3,....
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.navigationController YES animated:NO];
}
当我向前迈进时,一切正常!但是如果我从UIViewController3移动到UIViewController2后向后滑动,突然导航栏已经出现在UIViewController2上。我猜UIViewController1已经出现在我正在寻找UIViewController2时突然它会收到显示UINavigationBar的通知。
将命令放入UINavigationBarDidAppear并不能解决问题:-( 有人可以帮助我吗?
答案 0 :(得分:-1)
找到答案。实际上一切正常。我只是被我的Spaghetti Code愚弄了。
我没有注意到我已经在loadview方法中隐藏了导航栏,然后又在viewWillAppear方法中隐藏了导航栏。删除loadView中的一个后它完美运行!