Pergunta

Eu estou trabalhando em um aplicativo que eu gostaria de usar o mesmo híbrido de navegação e guia bares que o aplicativo usa iPod / Música para playlists navegar.

Basicamente:

  • Navegação para lidar com aprofundando uma árvore lista particular.
  • A barra de abas ao longo do fundo para alternar entre listas, que aparece na maioria / todos os ecrãs.
  • O conteúdo da barra guia é constante entre todas as telas.
  • A reação do bar guia para ser aproveitado é o mesmo em todas as telas:. Estala o usuário todo o caminho de volta para a raiz e coloca-los nessa lista

Navegação incorporado em abas, guias embutidos na navegação? Nem parece que ele vai fazer exatamente o que eu quero. Por outro lado, se eu ficar com um aplicativo de navegação básica e apenas adicionar as guias, não estou indo ter um monte de código extra?

Qual é a melhor abordagem básica para isso?

Foi útil?

Solução

Eu construí aplicativos que fazem exatamente isso. A melhor maneira de pensar sobre isso é começar na parte mais estreita, os controladores de vista individuais. No iPod exemplo, isso inclui controladores para artistas, álbuns, listas de reprodução, músicas, etc. Nota se você tocar em uma lista de reprodução, que leva você a uma lista de músicas. Estes são dois controladores de vista distintos.

Cada um dos guias que você vê no iPod aplicativo tem um controlador de navegação neles. O controlador nav envolve a vista raiz controladores das abas do aplicativo. E, em seguida, cada um dos controladores nav são definidos como os ViewControllers do controlador guia. O código seria algo parecido com isto

FirstTabViewController *first = [[FirstTabViewController alloc] init...];
SecondTabViewController *second = ...;

UINavigationController *nav1 = [[UINavigationController alloc] initWithRootViewController:first];
UINavigationController *nav2 = [[UINavigationController alloc] initWithRootViewController:second];

myTabBarController.viewControllers = [NSArray arrayWithObjects:nav1, nav2, nil];
// Then make sure to release things to avoid leaks

Se você queria para lidar com a transição de digamos, Playlists-> Lista de músicas em uma lista de reprodução selecionada, você faria isso na viewcontroller Playlist ([self.navigationController pushViewController:theListOfSongsViewController animated:SUREWHYNOT]).

Outras dicas

Até agora, eu estou olhando para uma UITabBarController com UINavigationControllers em cada painel com um pouco de código personalizado para colocar o controlador de navegação no separador alvo de volta para a raiz em um switch guia.

Apple tem algum grande documentação na combinação de controladores de vista (controladores de navegação dentro controladores de tabulação)

http://developer.apple.com/iphone /library/featuredarticles/ViewControllerPGforiPhoneOS/CombiningViewControllers/CombiningViewControllers.html

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