Afficher/masquer navigationBar lorsque la vue est poussé/sauté dans iOS 8

Hi collègues développeurs,

Je suis surpris que je n'ai pas trouver toutes les informations sur ce cas d'utilisation particulier pour iOS 8. Je m'explique, j'ai une manette de navigation de la pile, le premier point de vue a c'est navigationBar cachée, lorsque l'utilisateur clique sur une cellule d'un nouveau point de vue est poussé et j'ai besoin de la barre de navigation affichés sur cette vue de revenir en arrière (évidemment). Sur iOS 7, il est juste question d'ajouter cette ligne dans viewWillAppear :

 [self.navigationController setNavigationBarHidden:NO animated:YES];

Et il fonctionne comme un charme. Mais comme d'iOS 8 j'ai du mal à avoir le même comportement. Pour l'instant j'ai réussi à faire la même chose en utilisant :

- (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];
    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0"))
        [self.navigationController setNavigationBarHidden:NO animated:NO];
}
- (void)viewDidLoad {
     [super viewDidLoad];
     if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")) {
         self.automaticallyAdjustsScrollViewInsets = NO;
         self.edgesForExtendedLayout = UIRectEdgeNone;
         self.collectionView.contentInset = UIEdgeInsetsMake(self.navigationController.navigationBar.frame.size.height, 0, 0, 0);
}    }

Et la modification de la contentInset de mon collectionsView /tableviews ce que j'ai besoin d'afficher. Ça va marcher, mais c'est une vraie douleur dans le * (parfois, le contenu de l'encart n'est pas nécessaire si l'utilisateur vient d'une nouvelle viewcontroller).

Pour contexte le projet a d'abord été développé pour gérer iOS 6 et 7, donc pas de storyboard, tout est fait par programmation. J'ai porté à l'application à un plus moderne de la base de code et en fait universelle.

Suis-je raté quelque chose ? Est-il une meilleure façon de gérer que dans iOS 7/8 ?

  • Nous avons eu le même problème. Il semble que cela a été résolu avec iOS 8.1 si.
  • J'ai même problème avec UIPageViewController dans iOS 8. Veuillez me faire savoir toutes les suggestions concernant la question si vous en avez. Vous pouvez accéder à ma question thread ci-dessous. stackoverflow.com/questions/27420396/...
InformationsquelleAutor nebuto | 2014-09-16