Comment puis-je montrer une barre d'onglets en poussant un UIViewController sur la pile de navigation

voix
7

Il est donc très facile de cacher la barre d'onglets lorsque vous appuyez sur un contrôleur de vue sur la pile du contrôleur de navigation:

uiViewController.hidesBottomBarWhenPushed = YES;

fonctionne juste Peachy.

Mettez disons que je veux pousser plus profondément dans la pile et le montrer à nouveau?

Réglage

 laterUIViewController.hidesBottomBarWhenPushed = NO; 

sur certains contrôleur de vue plus tard, ne fait pas réapparaître. Il est toujours caché.

Créé 27/08/2009 à 04:35
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
-1

Essayez un hidding, alors vous lui dites de se cacher, il se cache, mais vous lui dites de ne pas le cacher (je ne sais pas si elle re montre si vous réglez ce paramètre non), mais il semble que ce isnt, ça ou u lui disent de ne pas se cacher quand le contrôleur de vue que vous voulez que le bar a été poussé déjà et il ne cache un bar jusqu'à ce que le prochain contrôleur de vue a été poussé, alors vous devriez essayer de le définir comme unhidden youself.

Créé 27/08/2009 à 05:31
source utilisateur

voix
3

Vous pouvez essayer subclassing UIViewControlleret en remplaçant la

- (void)viewWillAppear:(BOOL)animated { self.hidesBottomBarWhenPushed = YES; }
- (void)viewWillDisappear:(BOOL)animated { self.hidesBottomBarWhenPushed = NO; }

Et puis en utilisant cette sous-classe comme la superclasse du contrôleur de vue que vous souhaitez afficher la barre inférieure.

Créé 27/08/2009 à 06:52
source utilisateur

voix
2

Cela a fonctionné pour moi:

- (void)viewWillAppear:(BOOL)animated { self.tabBarController.tabBar.hidden = YES; }
- (void)viewWillDisappear:(BOOL)animated { self.tabBarController.tabBar.hidden = NO; }
Créé 10/11/2009 à 18:38
source utilisateur

voix
1

Essayez cette solution de contournement: si vous n'animez pas la commutation entre les contrôleurs de vue, il devrait fonctionner sur OK.

L'idée est de rendre votre taille de vue du contrôleur TabBar plus grand si TabBar (qui est au bas de la vue) sort de l'écran et restaurer la taille de vue en cachant la vue.

Dans votre contrôleur de vue qui devrait masquer une barre d'onglets définissent les méthodes suivantes:

-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];

    CGRect r = self.tabBarController.view.frame;
    r.size.height +=self.tabBarController.tabbar.frame.size.height;
    self.tabBarController.view.frame = r;
}

-(void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    self.tabBarController.view.frame = CGRectMake(0, 0, 320, 480); //for iPhone portrait
}

Vous devez vous assurer que votre délégué application TabBar points de Controler et fenêtres sont définies et correctement liées à XIB

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
Créé 07/04/2011 à 11:44
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more