Barre d'onglet contrôleur de disparaître lors d'un déplacement vers un autre point de vue (SDK iOS, à l'Aide de storyboards)
Je fais construire une application iPhone à l'aide de story-boards et j'ai un problème avec la barre d'onglet contrôleur. Sur l'un des points de vue qui est liée à partir de la barre d'onglet contrôleur (vue1), il y a un bouton qui mène à un autre point de vue (vue2). Sur Vue2, il y a un bouton qui mène de nouveau à Vue1. Très linéaire. Mais quand je vais à partir de vue1 de vue2, la barre d'onglet disparaît, et encore pire, quand je reviens à Vue1, la barre d'onglets est encore allé...
Comment puis-je régler ce problème? (Je n'ai pas encore mis TOUT le code dans l'application, il n'est que le storyboard et l'apple fourni AppDelegate Classe (et aussi un fichier principal, je suppose, mais je ne suis pas l'intention de toucher).
La Réponse est Très apprécié!
lorsque L'utilisateur clique sur le bouton juste transferts à Vue2
Avez-vous le programme d'installation pour cela? Ou avez-vous simplement d'utiliser l'onglet de la barre de fonctions. À partir de votre problème, il semble que vous utilisez un segue
Oui je suis en effet à l'aide d'Une Séquence. Comme je l'ai mentionné avant, j'utilise les storyboards Et j'ai encore à écrire sur la ligne de code. (Je suppose un couple de lignes que nécessaire pour résoudre ce problème... 😉
Pas nécessairement. Avez-vous suffit de faire glisser une barre d'onglet contrôleur sur la table de montage séquentiel et il suffit de laisser tout de la façon dont il a été?
OriginalL'auteur byteSlayer | 2012-07-03
Vous devez vous connecter pour publier un commentaire.
Si vous ne modale des enchaînements à partir d'un point de vue qui est une barre d'onglets, il va se débarrasser de la barre d'onglet pour le modal vue de la présentation.
Deuxièmement, quand vous segue vous créez une nouvelle instance de la vue-contrôleur. Donc, je devine que vous êtes segueing de vue1 de vue2, et de perdre de la barre d'onglet, alors vous êtes segueing retour à vue1. À ce stade, vous avez créé vue1, vue2, et une deuxième copie de vue1 qui ne dispose pas d'une barre d'onglet.
Je dirais deux choses.
1.) Si vous voulez garder les onglets dans le bas lorsque vous enchaîner à partir de vue1 de vue2, puis cliquez sur vue1, en haut de l'écran, sélectionnez Éditeur/Embed/manette de Navigation. Cela permettra d'intégrer votre vue1 dans une manette de navigation. Ensuite, si vous changez d'enchaînements de Modal pour Pousser garder vos barres d'onglets au bas. La barre de navigation en haut, il est facile de revenir en arrière à partir de l'affichage de 2 à 1 dans le bon sens (en sautant la vue) plutôt que de créer une nouvelle séquence. Si vous n'aimez pas la barre de navigation, vous pouvez ensuite modifier la "Barre du Haut" à la propriété "None" dans l'inspecteur. Vous devrez alors créer une autre façon de vue2 pour revenir à vue1. (EN SAUTANT LE CONTRÔLEUR, PAS PAR SEGUEING)
2) Si vous ne souhaitez pas configurer une manette de navigation, vous aurez un peu plus de mal à garder la barre d'onglet truc en bas de la vue2 contrôleur. En fait, je ne suis pas sûr que vous pouvez le faire avec un modal segue, vous auriez probablement à écrire certains type de personnalisé segue. De toute façon, Si vous voulez que la transition de retour à vue1 et obtenir le contrôleur (pas une nouvelle version, sans les pattes), alors vous avez besoin de joindre une action à tout autre bouton que vous utilisez pour enchaîner et utiliser le code suivant (j'ai également joint le code pour la navigation contrôleur push enchaîne, dans le cas où vous créez une manette de navigation et de se débarrasser de la barre de navigation.)
Modale Segue:
Pour Pousser segue:
Votre meilleur pari est d'utiliser la manette de navigation de la méthode, vous êtes assuré de garder vos onglets. Vous pouvez alors soit utiliser la barre de navigation pour retourner le chemin le plus facile, aucun code nécessaire) ou vous pouvez se débarrasser de lui, et l'utilisation d'un bouton et le code ci-dessus.
Bonne chance!
J'ai utilisé la solution 1. Mais quand je l'ai fait (vue n ° 1), j'ai eu deux manettes de navigation, car j'ai déjà eu un dans ma table de montage séquentiel. J'ai enlevé le parent nav contrôleur qui était derrière mon tab bar controller. Au lieu de cela, j'ai utilisé un nav contrôleur comme ça. tab bar controller -> barre de navigation controller -> <domaine> tableau contrôleur -> <domaine> détail de la table de contrôleur. Donc, pour chaque onglet, je l'ai indépendante du nav contrôleur. Il y a peut être une voie commune de l'aide de l'un de nav contrôleur, mais il semble fonctionner assez bien.
Oui, c'est exactement comment je l'ai fait sur quelques projets. C'est ce que j'étais en train de dépeindre ci-dessus.
Merci pour cette réponse. Il a été d'une grande aide après les heures de casse-tête.
OriginalL'auteur Justin Paulson
J'ai eu le même problème, je sais que c'est une vieille question, mais
[self dismissModalViewControllerAnimated:YES];
est obsolète dans iOS 6.Ce que j'ai utilisé est:
[self dismissViewControllerAnimated:YES completion:nil];
OriginalL'auteur victorholo