Question

J'ai 8 cellules qui sont en cours de construction dans mon UITableViewController. Je voudrais savoir comment je peux montrer un indicateur d'information sur la 4e et 8e cellules. En ce moment je suis la construction dans

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

bien que je suis pleinement conscient qu'il va ajouter un indicateur de communication à chaque cellule

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
Était-ce utile?

La solution

Utilisez simple instruction 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
}

Autres conseils

Vous connaissez le indexPath, alors pourquoi ne pas appliquer simplement conditionnellement l'indicateur de divulgation lorsque

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

(indexPath.row est 0 basé bien sûr ... le 4ème est 3 et le 8 est 7. Et vous devez utiliser #defines ou d'une autre façon de garder les numéros magiques de là aussi.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top