Позднее присоединяюсь к дискуссии, но думаю, что смогу спасти других от некоторых неприятностей.
У меня есть VC, несколько нажатий в NavController (назовем этот VC РОДИТЕЛЕМ). Теперь я хочу отобразить модальный экран (РЕБЕНОК) со скрытой панелью навигации И статусной строкой. После долгих экспериментов я знаю, что это работает ...
1) Поскольку я представляю ВК РЕБЕНКА, вызывая presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated
в РОДИТЕЛЕ, панель навигации больше не задействована (не нужно ее скрывать).
2) Размер в кончике CHILD VC имеет размер 320x480.
3) VC CHILD устанавливает self.wantsFullScreenLayout = YES;
в viewDidLoad
4) незадолго до представления РЕБЕНКА скрыть строку состояния с помощью [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:YES];
5) закрыть VC CHILD, используя методы протокола делегата в PARENT, и вызвать [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:YES];
до dismissModalViewControllerAnimated:YES]
, чтобы убедиться, что панель навигации нарисована в правильном месте
Надеюсь, это поможет.