Domanda

Ho 8 celle che vengono costruite nella mia UITableViewController. Vorrei sapere come posso mostrare un indicatore di divulgazione sul 4 ° e 8 ° cellule. In questo momento sto costruendo in

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

se io sono pienamente consapevole che sta per aggiungere un indicatore di divulgazione a ogni cellula

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
È stato utile?

Soluzione

Con un semplice 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
}

Altri suggerimenti

Si conosce l'indexPath, quindi perché non solo condizionatamente applicare l'indicatore di divulgazione quando

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

(indexPath.row è 0 a base, naturalmente ... il 4 ° è 3 e l'8 è 7. E si dovrebbe usare #defines o qualche altro modo per mantenere i numeri magici fuori anche lì.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top