Pergunta

Eu tenho 8 células que estão sendo construídas no meu uitableViewController. Gostaria de saber como posso mostrar um indicador de divulgação nas 4ª e 8ª células. Agora estou construindo isso em

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

Embora eu esteja plenamente ciente de que vai adicionar um indicador de divulgação a cada célula

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
Foi útil?

Solução

Use uma instrução IF simples:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    ... // do whatever
    UITableViewCellAccessoryType accessoryType = UITableViewCellAccessoryNone;
    if (indexPath.row == 3 || indexPath.row == 7) {
        accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    }
    cell.accessoryType = accessoryType;
    ... // do whatever
}

Outras dicas

Você conhece o IndexPath, então por que não apenas aplicar condicionalmente o indicador de divulgação quando

if((indexPath.row == 3) || (indexPath.row == 7))

?

(IndexPath.Row é baseado em 0, é claro ... o 4º é 3 e o 8º é 7. E você deve usar #Defines ou outra maneira de manter os números mágicos também.)

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