2016-12-15 2 views
1

Мне нужно добавить subview в TableViewCell, когда нажата кнопка в TableViewCell, она должна отображать другое представление в виде подзона, а высота табличного представления должна быть динамической в ​​соответствии с количеством ячеек.Как добавить subview в TableViewCell?

Как я могу это сделать?

How can I do this

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

+0

У вас есть все ячейки таблицы, которые имеют один под просмотр, например подменю? –

+2

Поиск в github/google для «Расширяемый просмотр таблицы», вы получите решение –

+0

@HimanshuMoradiya да, мне нужно добавить subview или sub tableview, как показано выше, в каждую ячейку, но размер подэлементного представления должен быть динамическим в соответствии с элементами , –

ответ

3

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

+0

это не то, что я хочу –

+2

это решение, и лучший подход ... добавление, поскольку subview не рекомендуется. –

+0

@Shikha Если вы не получите решение таким образом, пожалуйста, объясните подробнее, что вам нужно? Поскольку, поскольку вы в настоящее время объяснили свою проблему, мой предложенный ответ является самым простым и рекомендуемым способом достижения. –

0

Смотрите ниже ссылку на GitHub:

https://github.com/OliverLetterer/SLExpandableTableView

Это содержит Расширяемая TableView, который вам требуется. Вы должны реализовать SLExpandableTableViewDelegate и SLExpandableTableViewDatasource, который содержит другой метод, в котором вы также должны предоставить внутреннее представление таблицы.

Надеюсь, это вам поможет.

+1

Это должен быть комментарий до тех пор, пока какая-либо часть кода не будет включена в силу как ответ. –

+0

ya right @ Mr.Bista такое решение сообщение в комментарии не в ответе –

0

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

  1. Сделать Выборочная ячейку, который вы хотите расширить.
  2. При проектировании ячейки создайте высоту в раскадровке, например 200 или около того, в соответствии с вашими потребностями, и добавьте все элементы, которые вы хотите видеть, когда ячейка расширяется.

  3. Сначала вам нужно два метода делегата: -didSelectItemAtIndexPath и второй HeightForRowAtIndexPath на пути индекса.

  4. Сначала вам нужно убедиться, что пользователь нажал кнопку или ячейку, которую вы хотите развернуть, и для этого вам необходимо вызвать didSelectItemAtIndexPath.

  5. Как только вы получите позицию своей ячейки, в HeightForRowAtIndexPath проверьте, что индексный путь равен индексовому пути вашей ячейки, если да, то верните точную высоту (то есть: 200) вашей ячейки, иначе верните высоту по умолчанию (то есть: 70) вы ячейка.

Примечание: В didSelectItemAtIndexPath вам необходимо обратиться к методу обновления текущей ячейки

[self.tableView beginUpdates]; 
[self.tableView endUpdates]; 
1

Вы можете использовать только один вид таблицы со стилем UITableViewStyleGrouped, и набор «Men »,« Женщины »,« Дети & Baby »в качестве заголовка разделов TableView, сохраняйте логическое значение, чтобы определить результат« numberOfRowsInSection: »каждого раздела и перезагрузить таблицу.

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