Лучшее решение здесь может заключаться в том, чтобы поместить self.navigationBar.hidden = NO;
в метод -viewWillAppear:
UIViewController, где вы не хотите, чтобы панель постоянно скрывалась.
РЕДАКТИРОВАТЬ:
я нашелэто может вам помочь;
if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad )
{
CGRect rect = self.navigationController.navigationBar.frame;
rect.origin.y = rect.origin.y < 0 ?
rect.origin.y + rect.size.height
: rect.origin.y - rect.size.height;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.2];
self.navigationController.navigationBar.frame = rect;
[UIView commitAnimations];
}
else
{
[self.navigationController setNavigationBarHidden:shouldHide animated:YES];
}