Mostrando / ocultando barra de navegação com animação suave

Eu tenho um aplicativo baseado em navegação. A primeira visualização (rootcontroller) começa com apenas três botões grandes. Nenhuma barra de navegação. A partir daí, tudo o resto são visualizações de tablaturas e possuem barras de navegação. Estou fazendo isso para mostrar / ocultar a barra de navegação:

MyAppAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
appDelegate.navigationController.navigationBar.hidden = NO;

Depois que eu sair do controlador raiz, a barra de navegação se encaixará no lugar e ficará sobre a tableview, em vez de pressioná-la. Ele corta a parte superior da tableview. Voltar ao controlador raiz não é fácil na maneira como a barra de navegação desaparece. Existe uma maneira mais suave / melhor de ocultar a barra de navegação apenas para o controlador raiz?

questionAnswers(3)

yourAnswerToTheQuestion