iPhone - Personalizando uma visão de tabela agrupada no interface Builder
-
22-09-2019 - |
Pergunta
Estou escrevendo um aplicativo para iPhone. De acordo com o design, ele deve conter muitas visualizações de tabela agrupadas. Nessas visões, as linhas freqüentemente não são semelhantes entre si. Por exemplo, em uma tela, uma linha é o nome de uma tarefa, outra é o seu proprietário, outra é sua descrição, mas outra é a sua história (que deveria ser uma caixa em expansão) e assim por diante. Essas linhas são editadas de maneiras diferentes. Por exemplo, o nome pode ser inserido em forma livre, mas o proprietário deve ser escolhido de uma lista, que seria criada em uma visão adicional da tabela.
Eu acho que fazer tudo isso programaticamente me levaria a mal. O que eu quero é uma maneira de projetar essas telas no IB. Mas não consigo descobrir como fazer o IB tratar as células individualmente. Isso é possível?
Obrigado.
Solução
No Builder de Interface, você cria células de UABLEVIEWVIELTIVE PARA CADA LINHA e depois retorna a célula personalizada apropriada em – tableView:willDisplayCell:forRowAtIndexPath:
. Você também precisa retornar a altura de cada célula personalizada em – tableView:heightForRowAtIndexPath:
.
No interface Builder, você cria uma célula personalizada como faria com qualquer visualização. Você dimensiona a célula e depois a preenche com subviews. É melhor se você criar uma subclasse uabableViewCells para cada célula personalizada que possui iboutlets que se conectam a cada subview. Dessa forma, você pode acessar facilmente rótulos, visualizações de imagem, controles etc.