Проблема с блокировкой ячеек, когда таблица внутри представления содержимого ячейки другой таблицы - PullRequest
1 голос
/ 09 марта 2010

Я использую два представления таблицы (Основная таблица и Дополнительная таблица), одна таблица внутри другой ячейки. Я добавляю Sub Table в представление содержимого основной таблицы. Я также использую разные идентификаторы ячеек для обеих ячеек таблицы.

Теперь проблема в следующем: Когда - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

называется, Самая первая ячейка основного стола генерируется, и когда я прокручиваю вверх / вниз, все они просто отключаются, так что это ожидаемое и стандартное поведение и работает нормально. Но ячейка Sub Table создается / выделяется каждый раз. Он не удален, как и должно быть. Я предполагаю, что это происходит потому, что Sub Table является частью представления Cell Table основной таблицы. Но не уверен и не знаю, как ее решить. Может ли кто-нибудь помочь мне найти решение?

Ответы [ 2 ]

1 голос
/ 18 июля 2010

У меня была точно такая же проблема. Поскольку в учебном примере используется deque, я просто изменил его, чтобы указатель указывал на ячейку вместо deque.

cellForRowAtIndexPath:indexPath

работал для меня.

1 голос
/ 09 марта 2010

Ваша проблема именно такая, как вы ее описали: объект UITableView вложенной таблицы полностью освобождается, а его очередь ячеек вместе с ним. Вы можете попытаться сохранить представления вспомогательной таблицы для каждой ячейки основной таблицы отдельно в массиве или чем-то еще, но это уродливо и склонно к сохранению беспорядка. Табличные представления не были разработаны для того, как вы их используете. В одном проекте мы столкнулись с тем же дизайном, в итоге мы нарисовали вложенные таблицы как общие представления с простыми вложенными представлениями в цикле for для ячеек вложенных таблиц.

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

...