6
votes

Montrer la barre d'onglets après sa cachée

Y a-t-il un moyen de montrer une barre d'onglets après avoir été cachée?

a obtenu une structure TABBAR-NAV. Pour l'un des onglets, j'ai besoin de masquer la barre d'onglets pour sa 2e et 3ème vue de niveau. Mais en même temps, je devrai montrer sa 1ère et la 4ème vue.

Le code exemple des éléments n'est pas vraiment applicable ici, je pense.


0 commentaires

4 Réponses :


1
votes

Vous devez implémenter une méthode de déléguée xxx

à l'intérieur que vous pouvez vérifier quel index est sélectionné et afficher la barre d'onglets xxx


2 commentaires

Bonjour Mihirpmehta, pas exactement la situation que je suis dans. Pour ma situation, sa structure tabbar-NAV. J'espère montrer la barre d'onglets pour le 1er et 4ème niveau. Mais cachez-le pour la 2e et la 3e vue. Celui que vous avez décrit est après avoir cliqué sur les éléments de barre d'onglets? Je me demande si je peux faire quelque chose comme le délégué.tabbarcontroller.tabbar.hidden = False Délégate.ViewController.hidesbottombarwhenpush = NON Ne semble pas retourner la barre d'onglets à la vue. régler self.idebottombarWhenpushed = non à viewdidload ne fonctionne pas aussi


Vous êtes correct que Hidesbottombarwhenpushed est inutile pour cela car, comme indiqué, la barre inférieure reste cachée jusqu'à ce que le contrôleur d'affichage soit apparu de la pile. "



1
votes

Les UIViewContrôleurs qui sont poussés sur la pile de navigation peuvent faire quelque chose comme ce qui suit: xxx pré>

EDIT: Ajout de code supplémentaire ci-dessous pour traiter le cadre. Ne pensez pas que je ne pense que je recommanderai cette idée car elle s'appuie sur la structure de visualisation par défaut interne d'une uitabbarcontroller. P>

Définissez la catégorie suivante sur UITABBARCONTROLLER: P>

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self.tabBarController showTabBar:NO];
}


2 commentaires

Essayé ce qui précède ... Que se passe-t-il est la barre d'onglets masqué, mais en place, il y a une bande vide blanche laide où la barre d'onglets est "cachée"


Ah, oui, a du sens, et bien sûr, je ne l'ai pas remarqué parce que dans l'échantillon rapide, j'ai essayé que mon point de vue était déjà blanc. Il semble que vous puissiez réellement avoir à affecter le cadre de la vue de la zone d'affichage principale pour prendre l'espace laissé par la barre d'accès cachée. Cela semble un peu un hack pour essayer de le faire coopérer cependant.



4
votes

J'ai trouvé une bonne solution pragmatique à ce problème - rendez la vue de l'uitabbarcontroller plus grandement supérieure à ce qu'elle doit être, de sorte que l'uitabbar réel soit coupé par l'écran.

supposer que la vue de la barre d'onglets remplit normalement son superview, ce genre de chose doit fonctionner: xxx

La barre d'onglets est toujours affichée, mais c'est en bas du bas de la Écran, il semble donc d'avoir été caché.

Cela pourrait avoir des conséquences sur la performance s'il provoque un coupure supplémentaire, mais jusqu'à présent, il semble fonctionner.


1 commentaires

Merci beaucoup ... c'est vraimentyy très utile pour moi ... il est presque mois à la recherche de fin de mois ...



0
votes

Je sais que c'est un ancien poste, mais je pense que le code ci-dessous vous aiderait à masquer la barre d'onglets dans la zone ViewController que vous n'en voulez pas et que l'avantage supplémentaire de réadser automatiquement la barre d'onglets lorsque vous revenez à partir de ce contrôleur de vue. xxx


0 commentaires