如何获取UITableVIew中的前n个单元格的高度?

时间:2019-06-13 16:15:11

标签: ios swift uitableview

说我想限制表格视图的高度约束以仅显示特定数量的顶部单元格,如何获得它们的总高度?

1 个答案:

答案 0 :(得分:-1)

快捷键5:

extension UITableView {

func height(of top: Int, in section: Int = 0) -> CGFloat {

    let count = min(top, numberOfRows(inSection: section))

    let height = (0..<count)
        .map { IndexPath(row: $0, section: section) }
        .map { self.rectForRow(at: $0).height }
        .reduce(0, +)

    return height
}
}

非常适合:

extension UITableView {

func reloadData(completion: @escaping () -> ()) {
    CATransaction.begin()
    CATransaction.setCompletionBlock(completion)
    reloadData()
    CATransaction.commit()
}
}

在数据加载后更新约束。