2011-04-18 4 views
0

J'ai un problème avec le masquage de la barre d'onglets. ce mon codeMasquage de la barre d'onglets sur la cellule de la vue de table cliquez sur

//this created in the Delegate.m file 
-(void)HideTabBar 
{ 
    mTabController.hidesBottomBarWhenPushed =YES; 
} 

//Now i want to this on the cell select Tab bar must hide when it go to the map view (other view) for that i use this but its working 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    JourneyAppDelegate * journey = (JourneyAppDelegate *)[[UIApplication sharedApplication]delegate]; 
    [journey HideTabBar]; 
} 
But 

ça marche comment peut faire

+0

@ user420220: est-ce que vous appuyez sur le contrôleur de vue ** mTabController ** après avoir défini la propriété ** hidesBottomBarWhenPush ** car il ne sera pas masqué tant que vous ne l'aurez pas enfoncé. –

+0

Mais maintenant mon autre problème est venu. J'ajoute avec cette barre de tabulation une barre de flèche .i également cacher comme ceci - (id) initNithNibName: (NSString *) nibNameOrNil bundle: (NSBundle *) nibBundleOrNil {self.hidesBottomBarWhenPushed = YES; JourneyAppDelegate * journeyarrow = (JourneyAppDelegate *) [[délégué UIApplication sharedApplication]]; journeyarrow.tabBarArrow.hidden = YES;} il fonctionne très bien quand je viens à cette page mais quand revenir à la vue principale l'onglet est montré, mais la barre de flèche pas .HOW peut sli thi – Harish

Répondre

0

mTabController ne se invisible/caché jusqu'à ce que vous le poussez pour l'exemple:

//this created in the Delegate.m file 
-(void)HideTabBar 
{ 
    mTabController.hidesBottomBarWhenPushed =YES; 
    [self.navigationController pushViewController:IncomingViewController animated:YES]; 
} 

//Now i want to this on the cell select Tab bar must hide when it go to the map view  (other view) for that i use this but its working 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    JourneyAppDelegate * journey = (JourneyAppDelegate *)[[UIApplication sharedApplication]delegate]; 
    [journey HideTabBar]; 
} 

Vous devez définir hidesBottomBarWhenPushed propriété à la UIViewController qui va être poussé avant d'appeler pushViewController.

+0

J'ajoute \t \t self.hidesBottomBarWhenPushed = YES; en - (id) initWithNibName: (NSString *) paquet nibNameOrNil: (NSBundle *) {nibBundleOrNil self.hidesBottomBarWhenPushed = OUI;} fonctionner Merci pour votre réponse .Je obtenir la solution – Harish

+0

@ user420220: Heureux vous résolu votre problème. –

+0

Mais maintenant mon autre problème est venu. J'ajoute avec cette barre de tabulation une barre de flèche .i également cacher comme ceci - (id) initNithNibName: (NSString *) nibNameOrNil bundle: (NSBundle *) nibBundleOrNil {self.hidesBottomBarWhenPushed = YES; JourneyAppDelegate * journeyarrow = (JourneyAppDelegate *) [[délégué UIApplication sharedApplication]]; Journey12.biz.hidden = YES;} cela fonctionne très bien quand je viens à cette page, mais quand revenir à la vue principale, l'onglet est affiché, mais pas la barre de flèche. – Harish

0

Comme la méthode suggère, il ne fonctionne que comme le contrôleur de vue est poussé sur la pile. Donc, au lieu d'essayer de le cacher dans le contrôleur de vue, où la vue de la table est, il suffit d'ajouter la ligne [mapController setHidesBottomBarWhenPushed: YES] à l'endroit où vous créez ce contrôleur de carte.

J'espère que vous comprenez mon fonctionnement.

+0

Merci pour votre réponse .J'obtiens la solution – Harish

+0

Mais maintenant mon autre problème est venu. J'ajoute avec cette barre de tabulation une barre de flèche .i également cacher comme ceci - (id) initNithNibName: (NSString *) nibNameOrNil bundle: (NSBundle *) nibBundleOrNil {self.hidesBottomBarWhenPushed = YES; JourneyAppDelegate * journeyarrow = (JourneyAppDelegate *) [[délégué UIApplication sharedApplication]]; journeyarrow.tabBarArrow.hidden = YES;} il fonctionne bien quand je viens à cette page mais quand revenir à la vue principale l'onglet est montré mais la barre de flèche pas. HOW peut sli thi – Harish

+0

Vous pouvez par exemple cacher la barre de flèche sur la carte voir la méthode 'viewWillAppear:' du contrôleur, puis l'activer de nouveau dans 'viewWillDisappear:' En théorie, cela devrait fonctionner. –

Questions connexes