From ee434a037b0fbcccdde44ced892c6804c7885daa Mon Sep 17 00:00:00 2001 From: Martin Loguancio Date: Mon, 11 Oct 2021 09:06:34 -0300 Subject: [PATCH] Rely on original delegate for section row, delegate, and footer heights --- .../SkeletonCollectionDelegate.swift | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/SkeletonViewCore/Sources/Internal/Collections/SkeletonCollectionDelegate.swift b/SkeletonViewCore/Sources/Internal/Collections/SkeletonCollectionDelegate.swift index aa9ca703..3c6c2066 100644 --- a/SkeletonViewCore/Sources/Internal/Collections/SkeletonCollectionDelegate.swift +++ b/SkeletonViewCore/Sources/Internal/Collections/SkeletonCollectionDelegate.swift @@ -43,6 +43,30 @@ extension SkeletonCollectionDelegate: UITableViewDelegate { originalTableViewDelegate?.tableView?(tableView, didEndDisplaying: cell, forRowAt: indexPath) } + func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat { + return originalTableViewDelegate?.tableView?(tableView, estimatedHeightForRowAt: indexPath) ?? tableView.estimatedRowHeight + } + + func tableView(_ tableView: UITableView, estimatedHeightForHeaderInSection section: Int) -> CGFloat { + return originalTableViewDelegate?.tableView?(tableView, estimatedHeightForHeaderInSection: section) ?? tableView.estimatedSectionHeaderHeight + } + + func tableView(_ tableView: UITableView, estimatedHeightForFooterInSection section: Int) -> CGFloat { + return originalTableViewDelegate?.tableView?(tableView, estimatedHeightForFooterInSection: section) ?? tableView.estimatedSectionFooterHeight + } + + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + return originalTableViewDelegate?.tableView?(tableView, heightForRowAt: indexPath) ?? tableView.rowHeight + } + + func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { + return originalTableViewDelegate?.tableView?(tableView, heightForHeaderInSection: section) ?? tableView.sectionHeaderHeight + } + + func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { + return originalTableViewDelegate?.tableView?(tableView, heightForFooterInSection: section) ?? tableView.sectionFooterHeight + } + private func headerOrFooterView(_ tableView: UITableView, for viewIdentifier: String? ) -> UIView? { guard let viewIdentifier = viewIdentifier, let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: viewIdentifier) else { return nil } skeletonViewIfContainerSkeletonIsActive(container: tableView, view: header)