Transição para uma visão do tipo desconhecido em um aplicativo para iPhone baseado em navegação

StackOverflow https://stackoverflow.com/questions/1634566

Pergunta

No meu aplicativo para iPhone, um usuário seleciona um item de um UabableView para escolher um recurso para visualizar. o UIViewController A subclasse necessária para lidar com o recurso não é conhecida até que o recurso seja recuperado, o que pode levar alguns segundos.

Em resposta à ação de seleção, pressiono um controlador de exibição de "carregamento" na pilha de navegação. Esse controlador apresenta uma visão com um UiactivityIndicatorView junto com (possivelmente) outras informações de status e inicia o download do recurso selecionado. A partir dessa visualização, o usuário pode cancelar o download; nesse caso, eu retornaria à lista de recursos. Se o recurso chegar, porém, um novo controlador de exibição apropriado será criado correspondente ao seu tipo.

Aqui é onde fica pegajoso. Se eu pressionar a nova visualização específica do tipo na pilha de navegação, a visualização de "carregamento" ainda estará na pilha; Obviamente, uma vez concluído o carregamento, não há necessidade de "voltar" para essa visão. Eu tentei simplesmente adicionar a visão específica do tipo como uma subview da visualização de "carregamento", mas isso não recebe meu controlador específico para o tipo na pilha de navegação, para que não tenha um Auto -navegaçãoController Para uma navegação adicional.

Como posso "substituir" a visualização atual na pilha de navegação por uma nova? Ou, de maneira mais geral, como posso mostrar atividade / progresso quando ainda não sei qual controlador será usado para exibir o recurso que está sendo recuperado?

Encontrei classes de indicadores de progresso muito legais "HUD", mas não quero que a indicação de progresso apareça no topo da lista de itens que estão sendo selecionados. Em vez disso, quero que o usuário perceba que eles "foram" para um novo espaço que está esperando para ser preenchido.

Eu sou muito novo com essas coisas, então espero ter formado pelo menos a pergunta coerentemente. Obrigado por qualquer ajuda que alguém possa fornecer.

Foi útil?

Solução

Atualizar: Na verdade, provavelmente seria melhor exibir sua visualização de "carregamento" como uma visualização modal. Veja isso pergunta Para alguns exemplos.

Você deve pop o controlador de exibição de "carregamento" e Empurre O controlador de exibição "específico" assim que o último for baixado e alocado. Brinque com não animando uma ou ambas as ações para ver o que oferece a melhor experiência.

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