Как получить высоту первых n ячеек в UITableVIew? - PullRequest
0 голосов
/ 13 июня 2019

Скажем, я хочу ограничить ограничение высоты табличного представления, чтобы показывать только определенное количество верхних ячеек, как я могу получить их общую высоту?

1 Ответ

0 голосов
/ 13 июня 2019

Swift 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()
}
}

для обновления ограничения после загрузки данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...