76 votes

Comment masquer une barre de navigation dans un contrôleur de vue particulier ?

J'ai créé une application iPhone avec deux écrans d'accueil. Ensuite, l'utilisateur est amené à la première vue. J'ai ajouté un UINavigationController. Il fonctionne parfaitement bien.

Comment supprimer la barre de navigation pour la seule vue d'ouverture ?

MainWindow

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

self.splashScreen = [[SplashScreen alloc] 
                initWithNibName:@"SplashScreen" 
                bundle:nil];
if (self.pageController == nil) {
openingpage *page=[[openingpage alloc]initWithNibName:@"openingpage" bundle:[NSBundle mainBundle]];
    self.pageController = page;
    [page release];
}
[self.navigationController pushViewController:self.pageController animated:YES];

[window addSubview:splashScreen.view];

 [splashScreen displayScreen];
[self.window makeKeyAndVisible];

return YES;
 }

0voto

En c# ou Xamarin.IOS, this.NavigationController.NavigationBar.Hidden = true ;

-2voto

twilson Points 1421

Présenter la vue d'ouverture de façon modale, ou ;

  1. ne l'ajoutez pas à votre contrôleur de navigation
  2. le présenter avant le contrôleur de navigation.
  3. Une fois que tout est chargé, renvoyez la vue d'ouverture et montrez le contrôleur de navigation (tous deux sans animation).

Prenons un exemple dans ce fil : Comment afficher un écran d'accueil plus longtemps sur un iPhone ?

-(void)applicationDidFinishLaunching:(UIApplication *)application {
    [window addSubview:splashView];
    [NSThread detachNewThreadSelector:@selector(getInitialData:) 
                                 toTarget:self withObject:nil];
}

-(void)getInitialData:(id)obj {
    [NSThread sleepForTimeInterval:3.0]; // simulate waiting for server response
    [splashView removeFromSuperview];
    [window addSubview:tabBarController.view];
}

0 votes

L'OP ne voulait pas dire comment afficher l'écran d'accueil plus longtemps, et la question ne concerne pas du tout l'écran d'accueil.

0 votes

@berryllium Peut-être que ce n'est pas ce qu'il voulait dire, mais il a dit "une application iPhone à deux écrans splash", donc c'est ce qu'il a obtenu comme réponses sur les "écrans splash". Aucune interaction avec l'utilisateur n'était exprimée dans la question.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X