Удаление UITableViewCell аксессуар ViewView позже? - PullRequest
2 голосов
/ 14 августа 2010

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

UITableViewCell *cell = [tableVw cellForRowAtIndexPath:indexPath];
UIActivityIndicatorView *act = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[act startAnimating];
[cell setAccessoryView:act];
[act release];

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

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:self.tableView.indexPathForSelectedRow];
[cell.accessoryView removeFromSuperview];
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];

1 Ответ

0 голосов
/ 14 августа 2010

У вас должен быть какой-то способ определить, требует ли объект указатель активности в вашем tableView:cellForRowAtIndexPath:.Например, ведите словарь или массив, в котором хранится информация о том, выполняет ли еще ячейка в пути индекса, или создайте объект модели со свойством, которое будет отображать, загружается он или нет, и т. Д.tableView:cellForRowAtIndexPath:, проверьте, нуждается ли ячейка в этом пути индекса в представлении индикатора активности, и если нет, установите accessoryView в ячейку nil.

Затем, чтобы удалить вспомогательное представлениепозже: [tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:theIndexPath] withRowAnimation:UITableViewRowAnimationNone];

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