iOS 11 UITableViewCell删除后的viewForHeaderInSection视图上方

时间:2017-09-20 14:57:19

标签: ios swift uitableview ios11

我有简单的UITableViewController。

查看标题。来自xib的内容。 和单一类型的细胞。

使用滑动删除单元格后,上面删除的单元格在HeaderView上方可见,而其他单元格只是隐藏在HeaderView下面。

如果上述事情不明确 - 请问。

视频:https://youtu.be/aX-iPnM3q4Q

2 个答案:

答案 0 :(得分:0)

我认为这应该解决它:

tableView.sendSubview(toFront: tableView.headerView(forSection: 0)!)

(假设你只有1个部分)

您可以在删除单元格后设置此项,例如在commitEditingStyle

答案 1 :(得分:0)

找到了解决方案。

func deleteItem(from indexPath: IndexPath, tableView: UITableView) {
    cellsData.remove(at: indexPath.row)
    CATransaction.begin()
    tableView.beginUpdates()
    CATransaction.setCompletionBlock {
        tableView.reloadData()
    }
    tableView.deleteRows(at: [indexPath], with: .left)
    tableView.endUpdates()
    CATransaction.commit()
}

tableView.reloadData()执行修复headerView上方出现的单元格的操作,但会杀死动画。因此,如果您不关心动画,则只能添加reloadData()。