这两个陈述之间有什么区别。 对于隐藏导航栏,我使用其中一个语句来隐藏viewWillAppear方法中的导航栏,如下所示:
-(void)viewWillAppear:(BOOL)animated
{
self.navigationController.navigationBar.hidden=true; //works....
}
-(void)viewWillAppear:(BOOL)animated
{
[self.navigationController.navigationBar setHidden:YES]; //doesn't work...
}
此代码适用于self.navigationController.navigationBar.hidden = true;但是当我使用[self.navigationController.navigationBar setHidden:YES]时;它不起作用。为什么?
对不起朋友有问题。现在请更正,请再次查看
答案 0 :(得分:4)
FWIW,我今天在iOS 6遇到了一种情况:
self.navigationController.navigationBar.hidden = YES;
似乎没有效果。做了什么工作:
[self.navigationController setNavigationBarHidden:YES animated:NO];
答案 1 :(得分:1)
区别在于隐藏它,而其他人则表示:)
YES = TRUE
NO = FALSE
隐藏导航栏
self.navigationController.navigationBar.hidden=TRUE;
[self.navigationController.navigationBar setHidden:YES];
显示导航栏
self.navigationController.navigationBar.hidden=FALSE;
[self.navigationController.navigationBar setHidden:NO];
答案 2 :(得分:1)
self.navigationItem.hidesBackButton = NO;
这只会隐藏导航栏的BackButton。
self.navigationController.navigationBar.hidden = false;
这将隐藏导航栏,包括其BackButton。
self.navigationController.navigationBar.hidden = true;
这将启用导航栏。
self.navigationItem.hidesBackButton = YES;
这将启用导航栏的BackButton(直到导航栏设置为隐藏)。
答案 3 :(得分:0)
此代码:self.navigationItem.hidesBackButton = YES;
实际上隐藏了后退按钮
显示在导航栏上。这段代码:
self.navigationController.navigationBar.hidden=false;
实际上不会隐藏您的导航栏,它会在您的视图顶部显示导航栏。
答案 4 :(得分:0)
也许您的代码可以将YES更改为NO
你可以使用setNavigationBarHidden:animated:适合我。
-(void)viewWillDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
[self.navigationController setNavigationBarHidden:NO animated:YES];
}
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
答案 5 :(得分:0)
如果要隐藏navigationBar,您应该使用: -
self.navigationController.navigationBarHidden = YES;
或者
[self.navigationController setNavigationBarHidden:YES];
每次都很好。
无论如何你的情况应该可以正常工作,但正如我们所看到的,这只是iOS的一些内部不一致。