В чем разница между navigationController.navigationBarHidden и navigationController.navigationBar.hidden?

, я обнаружил, что

navigationController.navigationBarHidden = NO;

и

navigationController.navigationBar.hidden = NO;

не одно и то же. На самом деле, если я использую первый синтаксис, чтобы скрыть панель навигации, то я не могу использовать второй синтаксис, чтобы показать ее: он просто ничего не сделает. Более того, первый синтаксис для отображения/скрытия панели навигации у меня всегда работает, а второй синтаксис работает иногда, но не всегда. Я не смог точно определить, когда это сработает, а когда нет.

Поскольку я застрял с исправлением чужого кода (достаточно большое приложение: более 20 UIViewController), мне пришлось выполнить глобальный поиск navigationBar.hiddenи заменить его на navigationBarHidden. ]. После этого мне пришлось выполнить глобальный поиск для navigationBar setHidden:и заменить синтаксис navigationBarHidden. Это в конечном итоге устранило проблему.

Тем не менее, я хочу понять, почему предоставляются два разных варианта и в чем реальная разница между ними.

7
задан Aleks G 24 June 2012 в 11:49
поделиться