Pergunta

Eu preciso abrir programaticamente um certo guia no meu bar guia.

Eu tentei ligar o seguinte método de minha UITabBarController:

self.selectedViewController = myVController;

que não funciona.

O que é o caminho certo para abrir uma aba?

Obrigado.

Update: Eu tentei o seguinte código:

self.selectedViewController = [ [self viewControllers] objectAtIndex: 0];

que me abre uma aba desejável (ele está sendo selecionado), mas a vista ativa não está sendo atualizado.

Foi útil?

Solução

Com relação à propriedade selectedIndex, docs da Apple dizem:

Em versões do iPhone OS antes versão 3.0, esta propriedade reflete o índice do item da barra de guia seleccionado só. A tentativa de definir este valor para um índice de um controlador de visualização, que é não visível na barra de abas, mas é em vez gerido pela Mais de navegação controlador, não tem efeito.

Talvez este era o seu problema?

Uma possível solução é usar o seu próprio UITabBar e lidar com seus próprios pontos de vista. Então você pode fazer algo como isto:

[tabBar setSelectedItem:[tabBar.items objectAtIndex:1]];

Apenas implementar UITabBarDelegate e definir esta função para obter mensagens de seleção de item e mudar manualmente pontos de vista. (Embora se você estiver usando UITabBarController recursos avançados, pode não valer a pena o esforço.)

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{

}

Outras dicas

A maneira que eu tenho feito é usar self.tabBarController.selectedIndex = 1 (primeira guia é no índice 0).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top