如果该行的数组为空,则隐藏单个行

时间:2017-07-18 06:37:53

标签: uitableview swift3

我正在创建一个统计页面,显示项目的使用次数。

每行都有itemTitleitemCount。 并非每个itemTitle都有数据(如果用户没有填充该数据,但每行都有itemCount)。

我想要隐藏空行。

这是我正在尝试的内容,但如果这是真的,它会隐藏所有行,而不仅仅是单个空行。

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell: UITableViewCell! = tableView.dequeueReusableCell(withIdentifier: "StatsCell", for: indexPath)

    let itemTitle: UILabel      = cell.viewWithTag(1000) as! UILabel
    let itemCount: UILabel      = cell.viewWithTag(1001) as! UILabel

    itemTitle.text              = self.statsArray[(indexPath as NSIndexPath).row].itemTitle
    itemCount.text              = "\(self.statsArray[(indexPath as NSIndexPath).row].itemCount)"

    if (self.statsArray[(indexPath as NSIndexPath).row].itemTitle).isEmpty {

        tableView.rowHeight = 0

    }

    return cell
}

参见附件中的例子

enter image description here

由于

1 个答案:

答案 0 :(得分:1)

您应该在代码中实现override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat,并为数据源中具有空数组的行返回高度为0。否则返回正常高度。