Добавление UITableView внутри UITableViewCell

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

Это образ того, что я хочу добавить в свой проект

enter image description here

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

Итак, если какой-либо аналогичный контроллер доступен, пожалуйста, предложите мне.

Спасибо заранее.

Ответы

Ответ 1

Apple не рекомендует добавлять представления таблиц в виде подсмотров других прокручиваемых объектов. Если вы хотите разработать такую ​​вещь, вот шаги для вас:

  • Сделайте отдельный раздел для вашего "вида таблицы" внутри представления таблицы.
  • Первая строка раздела - ваша интерактивная строка
  • Когда пользователь касается строки, обрабатывайте ее через - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath.
  • Вставьте другие ячейки в этот раздел, изменив ваш массив данных.
  • Обновить раздел или выполнить обновление,

    как

    [self.dataSourceArray insertObject:object atIndex:indexPath.row];
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
    [self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
    

Ответ 2

Я не рекомендую отображать таблицы. Как пользователь, это расстраивает, когда один прокручиваемый объект сидит внутри другого прокручиваемого объекта. Когда вы садитесь, вы никогда не знаете, как будет вести себя контент. Для получения от одного конца родителя к другому может потребоваться несколько проходов. Это имеет значение, как вы время ваши удары. Это просто отстойно использовать.

Попробуйте этот подход для расширения разделов табличного представления Развернуть/свернуть раздел в UITableView в iOS

Удачи!

Ответ 3

- > Возьмите отдельный раздел для UITableView, который вы хотите добавить, например, как tableView.

- > Возьмите первую строку этого раздела.

- > Переопределить метод делегата UITableView. - (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath;

- > В этом методе обновляются данные tableview и Reload this section.

 [self.dataSourceArray removeObjectAtIndex:indexPath.section];
    [self.dataSourceArray insertObject:object atIndex:indexPath.section];
    [tableView reloadSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationAutomatic];