El establecimiento de un tipo de accesorio UITableViewCell en algunas células, pero no todos
-
23-09-2019 - |
Pregunta
Tengo 8 células que se están construyendo en mi UITableViewController. Me gustaría saber cómo puedo mostrar un indicador de divulgación sobre las células 4 ° y 8. En este momento estoy construyendo en
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
aunque soy plenamente consciente de que va a añadir un indicador de la divulgación a cada célula
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
Solución
El uso de un simple if:
- (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
}
Otros consejos
Usted sabe que el indexPath, ¿por qué no sólo condicionalmente aplica el indicador de divulgación cuando
if((indexPath.row == 3) || (indexPath.row == 7))
(indexPath.row se basa 0-por supuesto ... el cuarto es 3 y el octavo es 7. Y usted debe usar # define o alguna otra forma de mantener los números mágicos de allí también.)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow