1)下面三行代码有什么区别?
2) 另外,如果我返回到 viewController 并且之前的 viewController 通过相同的方法将 navigationBar 设置为隐藏,为什么只有第三行代码起作用[self.navigationController setNavigationBarHidden:NO]
?我的假设是所有三行代码都做同样的事情?
self.navigationController.navigationBar.hidden = NO;
[self.navigationController.navigationBar setHidden:NO];
[self.navigationController setNavigationBarHidden:NO];
跟进:
为什么当我需要运行此代码时:
[self.navigationController.navigationBar setBackgroundImage:incorrectAnswerNavigationBarBackgroundImage forBarMetrics:UIBarMetricsDefault];
它只能工作,正在设置背景图像,否则导航栏只是白色的。
如果我有这两行:
[self.navigationController setNavigationBarHidden:NO];
self.navigationController.navigationBar.hidden = NO;
如果我留下self.navigationController.navigationBar.hidden = NO;
导航栏弹出的空间但它只是白色,则没有背景图像。如果我有两条线,它就可以工作并且有一个背景图像。