Изменить тип аксессуара для всей строки UITableView - PullRequest
0 голосов
/ 24 мая 2011

Я хочу изменить тип аксессуара для всех ячеек UITableView, щелкнув элемент кнопки панели. Есть ли идея или код для этого.

Ответы [ 3 ]

2 голосов
/ 24 мая 2011

Просто возьмите флаг (bool или что-то) и вызовите reloadData для вашего табличного представления. А в cellForRowAtIndexPath проверьте свой флаг и поместите любой аксессуар, какой захотите.

1 голос
/ 24 мая 2011

В tableView:cellForRowAtIndexPath:,

...
if ( selected ) {
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
...

При нажатии на элемент панели кнопок,

...
selected = YES;
[self.tableView reloadRowsAtIndexPaths:[self.tableView visibleCells] withRowAnimation: UITableViewRowAnimationNone];
...
0 голосов
/ 24 мая 2011
- (UITableViewCell  *)tableView:(UITableView  *)tableView cellForRowAtIndexPath:(NSIndexPath  *)indexPath {
    // some code
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    return cell;
    }

, где вы можете проверить свое состояние и изменить тип аксессуара для ячейки, чтобы иметь любое из следующих значений

typedef enum {
   UITableViewCellAccessoryNone,
   UITableViewCellAccessoryDisclosureIndicator,
   UITableViewCellAccessoryDetailDisclosureButton,
   UITableViewCellAccessoryCheckmark
} UITableViewCellAccessoryType;
...