diff --git a/TIUIElements/Sources/Helpers/HeaderTransitionDelegate.swift b/TIUIElements/Sources/Helpers/HeaderTransitionDelegate.swift index 061aac4c..853edda3 100644 --- a/TIUIElements/Sources/Helpers/HeaderTransitionDelegate.swift +++ b/TIUIElements/Sources/Helpers/HeaderTransitionDelegate.swift @@ -58,6 +58,7 @@ extension HeaderTransitionDelegate: UITableViewDelegate { if isStartSet { startOffset = -(headerHandler.tableView.contentOffset.y) + startOffset = startOffset < 0 ? 0 : startOffset navigationBarHeight = headerHandler.navigationController?.navigationBar.bounds.height ?? 0 if #available(iOS 13.0, *) { statusBarHeight = headerHandler.view.window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0 @@ -67,9 +68,10 @@ extension HeaderTransitionDelegate: UITableViewDelegate { isStartSet = false } + let prefersLargeTitles = headerHandler.navigationController?.navigationBar.prefersLargeTitles ?? false let offsetY = scrollView.contentOffset.y + startOffset - - let isHidden = offsetY <= (largeHeaderView.frame.height + navigationBarHeight - statusBarHeight) + let navigayionBarOffset = prefersLargeTitles ? navigationBarHeight - statusBarHeight : 0 + let isHidden = offsetY <= (largeHeaderView.frame.height + navigayionBarOffset) headerHandler.navigationController?.navigationBar.topItem?.titleView?.isHidden = isHidden } }