Comment changer UIStatusBarStyle dans iOS 7 sur le mode de vues avec la barre de navigation?

La iOS 7 Guide de Transition donner une bonne idée de comment changer la UIStatusBarStyle de manière dynamique dans un UIViewController à l'aide de

- (UIStatusBarStyle)preferredStatusBarStyle {
     return UIStatusBarStyleDefault;
}

avec [self setNeedsStatusBarAppearanceUpdate];

Cela fonctionne bien dans une vue unique de l'application. Cependant, je vais maintenant essayer de changer le UIStatusBarStyle dans une modal vue de UIStatusBarStyleLightContent. Il y a un MainViewController qui enchaîne à la ModalViewController, lui-même imbriqué dans un NavigationController. Le ModalViewController a mis son délégué à la MainViewController.

J'ai essayé d'appeler [self setNeedsStatusBarAppearanceUpdate]; dans le ModalViewController avec la méthode suivante dans la classe que sans effet:

//In ModalViewController.m
- (UIStatusBarStyle)preferredStatusBarStyle {
     return UIStatusBarStyleLightContent;
}

J'ai aussi essayé d'appeler [self setNeedsStatusBarAppearanceUpdate]; dans MainViewController sur prepareForSegue: sender: méthode avec les conditions dans - (UIStatusBarStyle)preferredStatusBarStyle {} de retour UIStatusBarStyleLightContent lorsque le modal point de vue est présenté - mais qui n'a pas d'effets, trop.

Comment puis-je changer la UIStatusBarStyle modale vue?

EDIT: Post mis à jour: j'ai besoin de mentionner que la ModalViewController est incorporé dans un NavigationController avec un NavigationBar. Avec NavigationBar la valeur hidden-dessus à l'appel de [self setNeedsStatusBarAppearanceUpdate]; dans ModalViewController fonctionne très bien. Mais pas quand la Barre est visible.

Où avez-vous appeler [auto setNeedsStatusBarAppearanceUpdate] dans votre ModalViewController mise en œuvre?
Dans viewDidLoad méthode
Qu'en est-il -viewWillAppear: ?
ne fonctionne pas dans viewWillAppear et ne fonctionne pas dans viewDidAppear trop
J'ai réalisé que le problème est le NavigationBar (voir la Modifier). Sans barre de navigation [auto setNeedsStatusBarAppearanceUpdate] dans ModalViewController œuvres

OriginalL'auteur FrankZp | 2013-09-25