Как создать расширяемое табличное представление в ios?

При щелчке по ячейке таблицы он будет динамически увеличивать высоту метки, и если пользователь щелкнет другую ячейку, предварительно открытая ячейка рухнет и расширит выбранную ячейку. Я очень старался, чтобы этот текст метки bt не работал хорошо. Я хочу увеличить высоту ячейки .exa- нажмите на ячейку вопроса, чтобы развернуть ответ


person Dhaval Umraliya    schedule 01.12.2014    source источник
comment
возможный дубликат Развертывание и свертывание ячеек табличного представления в ios   -  person Daniel    schedule 01.12.2014
comment
На StackOverflow есть большое количество точно таких же вопросов. Пожалуйста, выполните поиск.   -  person Robotic Cat    schedule 01.12.2014
comment
возможный дубликат UITableViewCell расширяется при нажатии   -  person Robotic Cat    schedule 01.12.2014
comment
Также: stackoverflow.com/q/19112153/558933   -  person Robotic Cat    schedule 01.12.2014


Ответы (1)


Подключите UITableViewCell к коду позади, получите состояние для этой ячейки и в didSelectRowAtIndexPath измените высоту ячейки на любое значение, которое вы хотите. Что касается состояния ячейки (вы также можете сделать это, проверив ее высоту), уменьшите или расширьте ячейку.

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

person Miknash    schedule 01.12.2014
comment
Я пробовал решение добавления новой строки при щелчке по ячейке с использованием индексного набора, но теперь проблема заключается в том, как удалить, что если я нажму на другую ячейку, то предыдущая останется открытой, и она расширит выбранную строку. предыдущая ячейка должна быть свернута. отсюда у меня есть проблема. Я попробовал эту ссылку: cocoanetics.com/2011/03/ это первый раз, когда я собираюсь создать это табличное представление, поэтому я понятия не имею об этом. - person Dhaval Umraliya; 01.12.2014
comment
Итак, вы хотите сжать все остальные ячейки, но показать выбранные? вы можете вызвать [self.tableView reloadData], чтобы перерисовать таблицу, а затем (во время перерисовки) показать выбранную. Вы можете сделать это в didSelectRowAtIndexPath (я не проверял это), сначала вызвав reloadData, а затем изменив высоту конкретной ячейки. Кстати. ваша ссылка содержит .this и поэтому не работает. - person Miknash; 01.12.2014
comment
Спасибо за ответ. Пожалуйста, проверьте эту ссылку - cocoanetics.com/2011/03 /expandingcollapsing-tableview-sections - person Dhaval Umraliya; 01.12.2014
comment
Я проверил это, и я думаю, что это ненужное усложнение с NSMutableIndexSets... Вы можете сделать это следующим образом: Даже ячейки могут быть вопросами (делящимися на 2). Для выбранной ячейки вы можете сохранить IndexPath. Нечетные ячейки предназначены для ответов. Вам просто нужно помнить о каждом тестовом примере, поскольку UITableView повторно использует ячейки. Таким образом, вы можете перезагрузить данные о выбранной строке в индексном пути, сохранить индексный путь, а в cellForRowAtIndexPath вы можете проверить, следует ли показывать конкретную ячейку или нет. Кроме того, вы можете управлять повторно используемыми ячейками здесь, чтобы у вас не было сбоев. - person Miknash; 01.12.2014
comment
Готово. Я просто нажимаю кнопку с четким цветом. При нажатии кнопки я устанавливаю путь к индексу в наборе индексов и проверяю выбранный индекс, и в соответствии с индексной таблицей он перезагружается. и в методе didselectrow я просто перезагружаю представление таблицы. - person Dhaval Umraliya; 02.12.2014
comment
Я думаю, что это похоже на то, что я предложил вам. Если вы найдете какой-либо из моих комментариев полезным, пожалуйста, проголосуйте или отметьте мой ответ как правильный :) Спасибо и удачи :) - person Miknash; 02.12.2014