Como posso mostrar uma barra de páginas quando empurrando um UIViewController na pilha de navegação

votos
7

Por isso, é muito fácil de esconder a barra de páginas quando você empurra um controlador de vista para a pilha de controlador de navegação:

uiViewController.hidesBottomBarWhenPushed = YES;

funciona apenas peachy.

Coloque digamos que eu quero empurrar mais fundo na pilha e mostrá-lo novamente?

Configuração

 laterUIViewController.hidesBottomBarWhenPushed = NO; 

em algum controlador de vista posterior não fazê-lo reaparecer. Ele ainda está escondido.

Publicado 27/08/2009 em 04:35
fonte usuário
Em outras línguas...                            


4 respostas

votos
3

Você poderia tentar subclasse UIViewControllere substituir o

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

E, em seguida, usando essa subclasse como os superclasse do controlador de vista que você deseja mostrar a barra inferior.

Respondeu 27/08/2009 em 06:52
fonte usuário

votos
2

Isso funcionou para mim:

- (void)viewWillAppear:(BOOL)animated { self.tabBarController.tabBar.hidden = YES; }
- (void)viewWillDisappear:(BOOL)animated { self.tabBarController.tabBar.hidden = NO; }
Respondeu 10/11/2009 em 18:38
fonte usuário

votos
1

Tente esta solução alternativa: se você não animar a alternância entre controladores de vista que deve funcionar OK.

A idéia é fazer com que o tamanho visão de seu controlador tabbar maior para tabbar (que fica na parte inferior da vista) sai da tela e restaurar o tamanho da vista quando escondendo a vista.

Em seu controlador de vista que devem esconder uma barra de abas definir os seguintes métodos:

-(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
}

Você precisa ter certeza de que em seu aplicativo delegado tabbar controler e janelas lojas são definidos e devidamente articulado com XIB

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
Respondeu 07/04/2011 em 11:44
fonte usuário

votos
-1

Tente un hidding-lo, para que você diga a ele para esconder, se esconde, mas depois que você diga a ele para não escondê-lo (eu não sei se ele re mostra que se você definir isso para não), mas parece que ele não é, ou isso ou u estão dizendo-lhe para não se esconder quando o controlador de visualização que você deseja que o bar em que já foi empurrado e ele não un ocultar a barra até o próximo controlador de vista tem sido empurrado, então você deve tentar defini-lo o youself como unhidden.

Respondeu 27/08/2009 em 05:31
fonte usuário

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