0

J'ai une application, dans cette application si c'est la première fois que l'utilisateur a lancé l'application, j'ai besoin d'afficher un écran de bienvenue et présenter une première fois seulement informations de configuration pour l'application. Je pense que le meilleur endroit pour mettre ceci est dans l'appdelegate (didFinishLaunchingWithOptions), peut-être besoin de correction si mal. Dans le délégué de l'application que j'appelle cette méthode:Besoin de charger UIViewController depuis appdelegate et masquer UITabBarController lorsqu'il est chargé dans Storyboard App

-(void) checkSetupOccured 
{ 

    NSString *filePath = [self dataFilePath]; 
    if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) 
    { 
     //File doesn't exist, first time ran or installed 
     UITabBarController *MyTabViewController = (UITabBarController *)self.window.rootViewController; 
     [MyTabViewController setSelectedIndex:3]; 
     WelcomeHomeViewController *welcomeHomeViewController = [[MyTabViewController viewControllers] objectAtIndex:3]; 
     [welcomeHomeViewController viewDidLoad]; 
     //Need help here I think - Anyway to hide MyTabViewController when its presented? 
    } 

} 

Je suis passé par beaucoup de fils et les choses qui ne cesse d'apparaître sont:

//[MyTabViewController presentModalViewController:WelcomeHomeViewController animated:YES]; 
//self.navigationController.navigationBarHidden = YES; 
//[self setHidesBottomBarWhenPushed:YES]; 

J'ai essayé beaucoup d'endroits différents avec ceux-ci et probablement juste besoin de prendre du recul et se détendre, mais je ne peux pas trouver la solution pour le moment. Notez également que ne figure pas dans UITableView. Toute aide serait grandement appréciée et je réponds toujours à mes questions quand on y répond.

Répondre

1

Ok, voici ce que je mets dans l'instruction if:

UITabBarController *MyTabViewController = (UITabBarController *)self.window.rootViewController; 

    [MyTabViewController setSelectedIndex:3]; 
    UINavigationController *welcomeHomeViewController = [[MyTabViewController viewControllers] objectAtIndex:3]; 
      UITabBar *tabBar = MyTabViewController.tabBar; 
    tabBar.hidden = YES; 
    [welcomeHomeViewController viewDidLoad]; 

Cela ne semble hors de moi, s'il vous plaît laissez-moi savoir s'il y a une meilleure façon. Je voulais juste poster la réponse au cas où quelqu'un d'autre pourrait être aidé.

EDIT: La barre est toujours visible :(, mais il n'y a pas de boutons à pousser, juste une bande noire, toute aide serait appréciée, au moins l'utilisateur ne peut pas accéder à la barre mais j'ai besoin de la cacher . éventuellement

Edit: OK !! ENFIN donc content d'avoir résolu ce et espère vraiment que cela peut aider les autres

ici, il est, modifié appsdevs poster ici: How to Hide Tab Bar Controller?

UITabBarController *MyTabViewController = (UITabBarController *)self.window.rootViewController; 

    for(UIView *view in MyTabViewController.view.subviews) 
    { 
     if([view isKindOfClass:[UITabBar class]]) 
     { 
      [view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)]; 
     } else 
     { 
      [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)]; 
     } 
    } 

    [MyTabViewController setSelectedIndex:3]; 
    UINavigationController *welcomeHomeViewController = [[MyTabViewController viewControllers] objectAtIndex:3]; 

    [welcomeHomeViewController viewDidLoad]; 
Questions connexes