我发现了一种艰难的方式:
实际上,两种语法不是一回事。如果我使用第一种语法来隐藏导航栏,那么我就不能使用第二种语法来显示它:它根本不会起作用。此外,我的经验是,第一种语法总是有效的,而第二种语法有时有效,有时无效。但我无法确定何时它会生效,何时不会。
由于我被困在修复别人的代码中(一个相当大的应用程序:20多个UIViewControllers),所以我不得不全局搜索navigationBar.hidden并将其替换为navigationBarHidden。之后,我还必须全局搜索navigationBar setHidden:并将其替换为navigationBarHidden语法。最终,这解决了问题。
然而,我想了解为什么提供了两个不同的选项,它们之间的真正区别是什么。
navigationController.navigationBarHidden = NO;
并且
navigationController.navigationBar.hidden = NO;
实际上,两种语法不是一回事。如果我使用第一种语法来隐藏导航栏,那么我就不能使用第二种语法来显示它:它根本不会起作用。此外,我的经验是,第一种语法总是有效的,而第二种语法有时有效,有时无效。但我无法确定何时它会生效,何时不会。
由于我被困在修复别人的代码中(一个相当大的应用程序:20多个UIViewControllers),所以我不得不全局搜索navigationBar.hidden并将其替换为navigationBarHidden。之后,我还必须全局搜索navigationBar setHidden:并将其替换为navigationBarHidden语法。最终,这解决了问题。
然而,我想了解为什么提供了两个不同的选项,它们之间的真正区别是什么。
navigationBar.hidden
,而是应该使用navigationBarHidden
- 对吗? - Aleks GUIView
的@hidden
属性?UINavigationController
的@navigationBarHidden
属性的默认值是否会覆盖它? - KarenAnne