下拉表格视图-Swift

时间:2019-12-25 14:39:24

标签: swift

我从MSSQL提取数据并将此数据加载到tableView中。没问题。我想创建一个下拉菜单,但是我不知道该怎么做。现在所有菜单都已倾斜。如何打开和关闭桌子?我怎样才能做到这一点?如何制作可折叠的桌面视图?

    class CollapsibleTableViewController: UITableViewController {

        var sectionNames: [String] = []
        var sectionDetay: [String] = []
       override func viewDidLoad() {
            super.viewDidLoad()
            makaleDetay()
            tableView.estimatedRowHeight = 44.0
            tableView.rowHeight = UITableView.automaticDimension
        }
    func makaleDetay(){
            ...
     client.execute("SELECT soru_icerik FROM uzaktanptomg_db.omg_user.ie_soru", completion: { (_ results: ([Any]?)) in
    ...                                                                      self.sectionDetay.append(String(result))
                                          ...
          }
    extension CollapsibleTableViewController {
         override func numberOfSections(in tableView: UITableView) -> Int {
            return sectionDetay.count
        }
        override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return 1
        }

        override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
            let cell: CollapsibleTableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell") as? CollapsibleTableViewCell ??
                CollapsibleTableViewCell(style: .default, reuseIdentifier: "cell")

                cell.nameLabel.text = "SSS"
                cell.detailLabel.text = sectionDetay[indexPath.section]

            return cell
        }

        override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
            return UITableView.automaticDimension
        }

        override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
            let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: "header") as? CollapsibleTableViewHeader ?? CollapsibleTableViewHeader(reuseIdentifier: "header")

                header.titleLabel.text = sectionNames[section]
                header.arrowLabel.text = ">"
                header.setCollapsed(false)

                header.section = section
                header.delegate = self

            return header
        }

        override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
            return 44.0
        }

        override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
            return 1.0
        }

    }

    extension CollapsibleTableViewController: CollapsibleTableViewHeaderDelegate {

        func toggleSection(_ header: CollapsibleTableViewHeader, section: Int) {
            ....
        }

    }

0 个答案:

没有答案