Таким образом, я устанавливаю индикатор активности как вид аксессуара в ячейках просмотра таблицы, когда они выбраны.Удаление аксессуаров UITableViewCell позже?
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];
вы пробовали без removeFromSuperview линии? Также как зовут ваш tableView? в первом блоке кода у вас есть что-то отличное от второго. Это может быть проблемой, если это не ошибка копирования/вставки. –
Получение ссылки на саму ячейку и удаление аксессуаров не будет работать. (Во-первых, вы не хотите удалять аксессуар, просто установите его на 'nil', который должен работать). Вам нужно указать в представлении таблицы перерисовать ячейку, вызвав 'reloadRowsAtIndexPaths:'. –
@anschuchimala - Спасибо. Это часть пути. Настройка его на ноль, похоже, помогает, но вид активности не исчезнет и снова вернется к моей ячейке по умолчанию, пока не будет выбрана другая строка. reloadRowsAtIndexPaths, похоже, ничего не делает –