当我向下滚动时,为什么我看到更多单元格而不是numberOfRowsInSection返回值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当我向下滚动时,为什么我看到更多单元格而不是numberOfRowsInSection返回值?相关的知识,希望对你有一定的参考价值。

行数是3.但滚动时我在tableView中看到更多单元格。我看到高度为94的细胞具有分离器颜色。但是,我想在表视图中只有3个单元格。为什么我看到的细胞多于3?任何人都可以解释一下吗?

谢谢

    tableStyle.separatorColor = UIColor.red
    tableStyle.allowsSelection = false
    tableStyle.isScrollEnabled = true

    // register UINib for LogoStyle1, FieldStyle1, ButtonStyle1
    tableStyle.register(UINib(nibName: "LogoStyle1", bundle: nil), forCellReuseIdentifier: "LogoStyle1")
    tableStyle.register(UINib(nibName: "FieldStyle1", bundle: nil), forCellReuseIdentifier: "FieldStyle1")
    tableStyle.register(UINib(nibName: "ButtonStyle1", bundle: nil), forCellReuseIdentifier: "ButtonStyle1")

    self.view .addSubview(tableStyle)
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 3
}

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    if indexPath.row == 0 {
        return 120
    }else if indexPath.row == 1 {
        return 272
    }else{
        return 94
    }
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    switch indexPath.row {
    case 0:
        let cell = tableView.dequeueReusableCell(withIdentifier: "LogoStyle1", for: indexPath) as! LogoStyle1
        cell.backgroundColor = UIColor.clear
        return cell
    case 1:
        let cell = tableView.dequeueReusableCell(withIdentifier: "FieldStyle1", for: indexPath) as! FieldStyle1
        cell.backgroundColor = UIColor.black
        cell.delegate = self
        return cell
    case 2:
        let cell = tableView.dequeueReusableCell(withIdentifier: "ButtonStyle1", for: indexPath) as! ButtonStyle1
        cell.backgroundColor = UIColor.clear
        cell.delegate = self
        return cell
    default:
        fatalError()

    }

    }

这是截图:enter image description here

答案

这些不是单元格,但是正在填充可用空间的tableFooterView会将其删除:

tableStyle.tableFooterView = UIView()

以上是关于当我向下滚动时,为什么我看到更多单元格而不是numberOfRowsInSection返回值?的主要内容,如果未能解决你的问题,请参考以下文章

当我向下滚动表格视图时,隐藏单元格的复选标记消失了

UITableView 仅在向上滚动时更新,而不是向下滚动

滚动视图无法执行委托,但表视图可以

在 NSTableView 中滚动

垂直放置集合视图单元格而不是水平放置?

重新加载collectionview单元格而不是节标题