J'ai 3 vues. (disons 1er, 2e, 3e). J'ai poussé la 2ème vue (qui a une méthode de vue de chargement) sur la 1ère. Dans la deuxième vue, j'ai créé la troisième en utilisant initWithFrame
(hérité de UIWebView). En 2ème vue j'ai écrit self.view = 3ème vue.
Maintenant, je souhaite masquer la barre de navigation de la deuxième vue dans la troisième vue (c.-à-d. Lorsque l'utilisateur touche l'écran 3, c.-à-d. UIWebView). J'ai eu la reconnaissance tactile en utilisant un geste, mais je ne peux pas cacher la barre de navigation.
La 3ème vue ne supporte pas self.navigationController
. Et si je crée l'objet de la 2e vue en 3e, cela ne masque pas la barre de navigation. Quelqu'un peut-il m'aider?
D'accord. Il faut donc que la barre de navigation soit masquée juste après la création du contrôleur de navigation pour cet onglet. Vous ne pouvez pas régler cela après avoir appuyé sur le contrôleur de vue (pour autant que je sache).
Si vous souhaitez que la première vue ne comporte pas de barre de navigation en haut, utilisez-la dans votre appDelegate où vous déclarez initialement vos contrôleurs de navigation:
localNavigationController = [[UINavigationController alloc] initWithRootViewController:theViewController];
[localNavigationController setNavigationBarHidden:YES animated:YES];
Si vous souhaitez que les vues suivantes soient masquées, vous avez besoin d'un viewController pour les vues suivantes, et vous devrez ajouter
[[self navigationController] setNavigationBarHidden:YES animated:YES];
juste avant d'appeler ça:
[[self navigationController] pushViewController:theThirdViewController animated:YES];
J'espère que cela t'aides.
Implémentez ceci:
[self.navigationController setNavigationBarHidden:YES animated:YES];
avant d’attribuer la 3ème vue. c'est self.view = 3ème vue
Notez que le code doit être ajouté à la méthode viewWillAppear
-(void) viewWillAppear:(BOOL)animated
{
self.navigationController.navigationBar.hidden = YES;
}