, я обнаружил, что
navigationController.navigationBarHidden = NO;
и
navigationController.navigationBar.hidden = NO;
не одно и то же. На самом деле, если я использую первый синтаксис, чтобы скрыть панель навигации, то я не могу использовать второй синтаксис, чтобы показать ее: он просто ничего не сделает. Более того, первый синтаксис для отображения/скрытия панели навигации у меня всегда работает, а второй синтаксис работает иногда, но не всегда. Я не смог точно определить, когда это сработает, а когда нет.
Поскольку я застрял с исправлением чужого кода (достаточно большое приложение: более 20 UIViewController), мне пришлось выполнить глобальный поиск navigationBar.hidden
и заменить его на navigationBarHidden
. ]. После этого мне пришлось выполнить глобальный поиск для navigationBar setHidden:
и заменить синтаксис navigationBarHidden
. Это в конечном итоге устранило проблему.
Тем не менее, я хочу понять, почему предоставляются два разных варианта и в чем реальная разница между ними.