0

J'ai suivi une procédure pour créer un contrôleur de barre d'onglets simple avec un contrôleur de navigation dans le premier onglet. Jusqu'à ce que tout fonctionne correctement, attendez-vous à un problème étrange sur la mise en page. Lorsque l'application démarre pour la première fois, la barre de navigation située en haut de la première plume chargée est légèrement en dehors de la vue. Je ne peux pas comprendre pourquoi cela arrive. Dans la première vue, il y a un bouton "Ajouter un nouveau système" qui ouvre une vue modale. Si j'appuie sur ce bouton et que la vue modale apparaît et que je rejette le modal retournant à la vue initiale, alors la barre de navigation en haut est placée/rafraîchie correctement. La même chose se produit si j'appuie sur le deuxième TAB (c'est une plume simple sans contrôleur de navigation pour l'instant) et puis de nouveau au premier TAB, la barre de navigation est placée dans la bonne position. Voici une capture d'écran sur le premier démarrage:Problème de disposition de la barre de navigation sur la barre d'onglets Contrôleur de navigation + contrôleur

Startup

Et ici quand je presse la vue modale ou la deuxième TAB, puis revenir à la première vue:

After

Le code est quitter simple suite à l'un des nombreux tutoriels sur le net. Je n'utilise pas de storyboard. Seule la personnalisation a été l'ajout des boutons sur le dessus de la barre de navigation:

UIImage *editbuttonImage = [UIImage imageNamed:@"edit_pressed.png"]; 
UIButton *editButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[editButton setBackgroundImage:editbuttonImage forState:UIControlStateNormal]; 
editButton.frame = CGRectMake(0, 0, editbuttonImage.size.width, editbuttonImage.size.height); 
[editButton addTarget:self action:@selector(leaveEditMode) 
     forControlEvents:UIControlEventTouchUpInside]; 

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] 
              initWithCustomView:editButton]; 

[editButton release]; 
[editbuttonImage release]; 

Aucune autre modification n'a été apportée. La plume était utilisée auparavant dans une seule vue. Ensuite, j'ai essayé de l'insérer dans un contrôleur TAB + contrôleur de navigation. Je pourrais poster l'ensemble du code au cas où c'est nécessaire. Sous Sélectionner le système, il y a une vue de table, dans ces images vides, également non montrée.

Merci pour l'aide!

Simon

+0

J'ai résolu la question moi-même. Au démarrage, j'ai configuré pour masquer la barre d'état et l'afficher de nouveau dans le délégué de l'application. La directive utilisée: [[UIApplication sharedApplication] setStatusBarHidden: NO]; était ** après ** l'ajout du navController en tant que sous-vue. De plus, la barre de commande de navigation n'était pas hors de vue, simplement sous la barre d'état. – Simon

Répondre

0

J'ai résolu le problème moi-même. Au démarrage, j'ai configuré pour masquer la barre d'état et l'afficher de nouveau dans le délégué de l'application. La directive utilisée:

[[UIApplication sharedApplication] setStatusBarHidden:NO];

était après ajoutant le NavController comme sous-vue. De plus, la barre de commande de navigation n'était pas hors de vue, simplement sous la barre d'état.

Hope this helps quelqu'un :)

Cheers, Simon

Questions connexes