UITableView: вложенный раздел Swift 5

Я пытаюсь реализовать UITableView со следующей структурой:

struct DataArray {
    var mainsection : String
    var titlecontent : String
    var contentsection : [(question : String, answer : String)] = [(String, String)]()
}

var dataArray = [DataArrayArray]()

dataArray = [DataArray(mainsection : "Section 1","Section Title 1",[("question1","answer1"),("question2","answer2")]), 
DataArray(mainsection : "Section 2","Section Title 2",[("question1","answer1"),("question2","answer2")])]

TableView должен выглядеть так, и когда пользователь нажимает Раздел 1 -> развернуть подраздел (SectionTitle1 и SectionTitle2); когда пользователь нажимает SectionTitle1 -> разверните подраздел (Question1 и Question 2); Когда пользователь снова нажимает Question1 -> показать ответ:

Раздел 1

  • Название раздела 1

    • Вопрос 1

      • Answer 1
    • вопрос 2

      • Answer 2

Раздел 2

  • Название раздела 1

    • Вопрос 1

      • Answer 1
    • вопрос 2

      • Answer 2

Может ли кто-нибудь помочь мне с этим или любым другим решением, чтобы решить эту проблему?


person varsha94    schedule 12.05.2020    source источник
comment
Не связано, но не называйте пользовательскую структуру Data. Это может помешать структуре Data в Foundation.   -  person vadian    schedule 12.05.2020
comment
Вы можете спроектировать свою ячейку так, чтобы она расширялась или сворачивалась при нажатии.   -  person Gaurav Chandarana    schedule 12.05.2020


Ответы (1)


Этот тип TableView обычно называется Accordion TableView. Если вы запустите поиск Google для этого, вы найдете множество руководств и примеров кода. 2 ссылки указаны ниже

  1. Быстрое создание простого аккордеонного табличного представления?
  2. https://medium.com/ios-os-x-development/ios-how-to-build-a-table-view-with-collapsible-sections-96badf3387d0
person ibnetariq    schedule 12.05.2020
comment
Спасибо за ссылку, все работает. @ибнетарик - person varsha94; 12.05.2020