Конечно - хитрость в том, чтобы ваш контроллер навигации всегда присутствовал, но для использования
setNavigationBarHidden:YES animated:NO
, чтобы скрыть его в корневом представлении. В дочерних представлениях вы попадаете туда как обычно, нажимая их
setNavigationBarHidden:NO animated:YES
в их viewWillAppear
. (настройте анимированное свойство, чтобы оно выглядело так, как вы предпочитаете)
Я не думаю, что это нарушает какие-либо правила, я использовал его в приложении с визуальным главным меню, которое выдвигает дочерние представления и может выдвигать их, чтобы вернуться в это визуальное главное меню без отображения панели навигации.