app para iOS com muito texto

5

Acabei de fazer uma pergunta no StackOverflow, mas eu ' Estou pensando que uma parte dela pertence aqui, como as perguntas sobre o padrão de design são bem-vindas pelas perguntas frequentes.

Aqui está a minha situação. Eu desenvolvi quase completamente um aplicativo iOS nativo. A última seção que preciso implementar são todas as regras de um esporte, então é um monte de texto. Ele tem um nível principal de seções, dividido em subseções, contendo muito texto estruturado (parágrafos, algumas fotos, listas com marcadores / numeradas, tabelas). Eu não tenho absolutamente nenhum problema com codificação, estou apenas procurando conselhos para melhorar e fazer o melhor padrão de design possível para o meu aplicativo.

Meu primeiro arremesso (o último até agora) foi um UITableViewController contendo as seções, enviando o usuário para outro UITableViewController com as subseções da seção selecionada, e então um estranho por último UITableViewController em que as células contêm UITextViews , o cabeçalho de seções ajuda a estruturar o conteúdo, etc.

O que eu gostaria é de seu conselho sobre como melhorar a estrutura desta seção. Estou perfeitamente pronto para destruir / reconstruir a coisa toda, estou realmente perdido no meu design aqui .. Como eu disse no SO, eu comecei a implementar um UIWebView em um UIViewController , mostrando uma página html com o JQuery Mobile para exibir o conteúdo, e está tudo bem. Minha pergunta é mais sobre as duas visualizações levando o usuário a esse conteúdo. Eu usei UITableViewController s porque isso é o que parecia mais apropriado para uma hierarquia estruturada como essa. Mas isso não parece ser a melhor solução em termos de experiência do usuário.

Que estrutura / "fluxo de visualizações" / tipo de apresentação você tentaria implementar na minha situação?

Como sempre, qualquer ajuda seria muito apreciada!

Só para você entender melhor a hierarquia, com um exemplo simples:

                          -----> Section 1   -----> SubSection 1.1   -----> Content
                          |                  -----> SubSection 1.2   -----> Content
                          |                  -----> SubSection 1.3   -----> Content
                          |
                          |
                          |
UINavigationController  -------> Section 2   -----> SubSection 2.1   -----> Content
                          |                  -----> SubSection 2.2   -----> Content
                          |                  -----> SubSection 2.3   -----> Content
                          |                  -----> SubSection 2.4   -----> Content
                          |                  -----> SubSection 2.5   -----> Content
                          |
                          -----> Section 3   -----> SubSection 3.1   -----> Content
                                             -----> SubSection 3.2   -----> Content

                      |------------------|   |--------------------|  |-------------|
                  1 UITableViewController   3 UITableViewControllers  10 UIViewControllers
                         (3 rows)              (with different         with a UIWebView
                                                number of rows)
    
por rdurand 31.10.2012 / 14:15
fonte

1 resposta

4

A maneira mais simples de conseguir isso é escrever a documentação como um conjunto de arquivos HTML, incluí-los como recursos e exibi-los com um UIWebView. Use links para criar a hierarquia; é para isso que servem.

Se você quiser usar a hierarquia do controlador de navegação como forma de apresentar um botão de retorno, intercepte todos os cliques de link e envie uma nova exibição para a pilha que contém um UIWebView. Diga para carregar o destino do link da vista anterior. Aqui está uma pergunta do Stack Overflow sobre a interceptação de cliques em links da visualização da Web:

link

Essa abordagem reduz seus controladores de visualização de 14 (!) para 1 e faz com que a manutenção seja uma questão de editar arquivos HTML em vez de uma grande confusão de exibições e ver controladores.

    
por 31.10.2012 / 17:31
fonte