是否有可能实现可扩展的表头视图?

我已经实现了带有可扩展部分的表格视图,即用户选择的部分将具有该特定类别的项目数。对于封闭部分,将有0个项目。

现在出于更好的UI目的,我想实现以下具有可扩展头视图的表视图类型吗?在此图像中,我们可以看到该部分看起来像一个包含带有圆角和边框的项目的组。根据默认的UITableView,此行为是不可能的。如果仍然有人实施,请给一些建议,是否可行。

是否有可能实现可扩展的表头视图?

a53932991 回答:是否有可能实现可扩展的表头视图?

struct WrapperObject {
    var header : HeaderObject
    var listObject : [ObjectDetail]
}

struct HeaderObject {
    var id : String
    var isOpen : Bool
}

struct ObjectDetail {
    var id : String
    var detailInfo : String
}

在您的VC或数据源中。创造 : private var internalData : [WrapperObject]

设置数据后,在UITableView的委托中

extension ViewController : UITableViewDelegate {
    func tableView(_ tableView: UITableView,viewForHeaderInSection section: Int) -> UIView? {
            // TODO : Custom your own view
            // have a callback to set property isOpen =  true or false to the internalData.
            return UIView()
        }
    }

extension ViewController : UITableViewDataSource {

        func numberOfSections(in tableView: UITableView) -> Int {
            return internalData.count
        }

        func tableView(_ tableView: UITableView,numberOfRowsInSection section: Int) -> Int {
            if internalData[section].header.isOpen {
                return internalData[section].listObject.count
            } else {
                return 0
            }

        }

        func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
            return UITableViewCell() // TODO: custom your own cell
        }
    }
本文链接:https://www.f2er.com/2328578.html

大家都在问