Eu tenho um UITableView agrupado e quero selecionar algumas linhas. O seu código útil eu encontrei para selecionar várias linhas, mas para uma visão não agrupada.
--->
Quando estou selecionando uma linha, seleciona essa linha de cada seção.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
cell.accessoryType = UITableViewCellAccessoryNone;
} else {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}}
Qualquer ajuda ? Desde já, obrigado!
Respostas:
2 para resposta № 1Dê uma olhada em - iPhone: Como permitir a seleção múltipla em tabelview para uma célula personalizada?. Se você acabou de definir o tipo de acessório como você temfeito em seu código, os acessórios não serão mantidos quando as células são recicladas (quando a tabela é rolada). Em vez disso, você deve fazer algo como o seguinte -
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//... your existing code ...
if(self.selectedIndexPaths && [self.selectedIndexPaths containsObject:indexPath]) //selectedIndexPaths is explained in the link above
cell.accessoryType = UITableViewCellAccessoryCheckmark;
else
cell.accessoryType = UITableViewCellAccessoryCheckmark;
//... your existing code ...
return cell;
}
Dessa forma, você pode manter quais células estão selecionadas.
HTH,
Akshay
0 para resposta № 2
Eu acho que você tem tomado várias tabelas em vista para este tableviews diferenciar como
if(tableView = firstTbl){
}
if(tableView = secondTbl){
}