我发现很难
navigationController.navigationBarHidden = NO;
和
navigationController.navigationBar.hidden = NO;
不是一回事。事实上,如果我使用第一种语法来隐藏导航栏,那么我无法使用第二种语法来显示它:它根本不会做任何事情。此外,显示/隐藏导航栏的第一种语法对我总是有效,而第二种语法有时有效,但并非总是如此。我无法准确确定它什么时候可以工作,什么时候不可以。
由于我一直在修复别人的代码(一个相当大的应用程序:超过 20 个 UIViewController),我不得不进行全局搜索navigationBar.hidden
并将其替换为navigationBarHidden
. 之后,我不得不进行全局搜索navigationBar setHidden:
并用navigationBarHidden
语法替换。这最终解决了这个问题。
然而,我想了解为什么提供这两种不同的选项,以及它们之间的真正区别是什么。