2015-02-06 2 views
0

Может кто-нибудь помочь мне сделать следующее Swift:Как разместить содержимое ниже строки в UITableView?

Я два элемента под названием Тема 1 и Тема 2. enter image description here

мне нужно нажать на тему 1 (в стрелкой вниз изображение в), затем разверните некоторое содержимое только в разделе «Моя тема 1».

Я использую UITableView для отображения данных (тема 1 & тема 2 строки), но я не знаю, можно ли отображать содержимое ниже каждой строки, например, следующее изображение с помощью UITableView.

enter image description here

Каждый знает способ решить это?

Спасибо!

ответ

1

Два варианта высокого уровня:

  1. Показать темы как заголовки разделов вместо строк. Обнаружьте ответвление заголовка раздела и отследите «активный» раздел в вашем представлении таблицы. источник данных. Верните только число строк больше 0 для «активного» раздела . Когда изменяется «активная» секция, перезагрузите старый раздел и новый раздел.
  2. Создайте ячейку, в которой отображаются как «Тема», так и любые детали. Внесите делегат табличного представления и верните высоту, которая отображает детали только для «активной» темы. Для всех остальных строк верните высоту, которая будет отображать только заголовок. Когда выбор изменится, перезагрузите старые и новые строки, чтобы оживить изменения высоты.
+0

Hi drewag:) Большое вам спасибо, у меня есть только одна проблема: какую функцию я могу использовать для обнаружения щелчка заголовка? Я знаю только одно для ячейки (didSelectTableViewCellAtIndex ....). –

+0

@JuanVillalvazo вы можете использовать распознаватель жестов или кнопку в виде заголовка – drewag

0

Не пытайтесь «развернуть содержание» ниже ячейка. Добавьте его в ячейку. Другими словами, вы модифицируете ячейку или заменяете ее другой ячейкой, построенной точно для размещения этого дополнительного материала.

+0

Я вижу, мне нравится это решение, но ... как я могу отформатировать текст так, чтобы тема 1 казалась заголовком и под заголовком как контент? Потому что я знаю, как показывать ячейки одной строкой. –

+0

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

Смежные вопросы