В моем представлении таблицы у меня есть ряд строк, у которых есть тип аксессуаров с подробным описанием раскрытия информации, а при нажатии строки или аксессуара новое представление переносится на контроллер навигации. Я вызываю deselectRowAtIndexPath в конце функции didSelectRowAtIndexPath.AccessoryDetailDisclosureButton не отменяет выбор после того, как я вызываю deselectRowAtIndexPath
Если я нажму кнопку аксессуара, я перейду к новому виду, но он останется подсвеченным, когда я вернусь к этому представлению (поп). Строка отменяется, как ожидалось, но не это. Любые мысли о том, как «рассказать» об этом?
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
...
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {
[tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionTop];
[self tableView:tableView didSelectRowAtIndexPath:indexPath];
}
Это сработало, чтобы отменить выбор аксессуара, но вся строка не выделяется при нажатии кнопки аксессуара. Есть ли способ достичь этого? – Rob
Вы правы, строка не подсвечена. Тем не менее, Apple HIG не требует выделения всей строки при нажатии кнопки раскрытия. Все мои приложения работают так, как описано, включая те, которые доступны в AppStore. –
Достаточно справедливо, спасибо за помощь. – Rob