Increased back pagination did reach top trigger offset.

This commit is contained in:
Stefan Ceriu 2022-03-29 16:08:46 +03:00
parent 88dd482be1
commit c4e5689272

View File

@ -64,7 +64,8 @@ struct RoomScreen: View {
return
}
tableViewObserver = TableViewObserver(tableView: tableView)
tableViewObserver = TableViewObserver(tableView: tableView,
topDetectionOffset: (tableView.bounds.size.height / 3.0))
// Check if there are enough items. Otherwise ask for more
attemptBackPagination()
@ -131,7 +132,7 @@ private class TableViewObserver: NSObject, UITableViewDelegate {
case bottomOffset
}
private let topTriggerHeight = 50.0
private let topDetectionOffset: CGFloat
private var isAtTop: Bool = false
private var offsetDetails: ContentOffsetDetails?
@ -141,11 +142,12 @@ private class TableViewObserver: NSObject, UITableViewDelegate {
let scrollViewDidReachTop = PassthroughSubject<Void, Never>()
override init() {
self.topDetectionOffset = 0.0
}
init(tableView: UITableView) {
init(tableView: UITableView, topDetectionOffset: CGFloat) {
self.tableView = tableView
self.topDetectionOffset = topDetectionOffset
super.init()
tableView.delegate = self
@ -205,7 +207,7 @@ private class TableViewObserver: NSObject, UITableViewDelegate {
return false
}
return (scrollView.contentOffset.y + scrollView.adjustedContentInset.top) <= topTriggerHeight
return (scrollView.contentOffset.y + scrollView.adjustedContentInset.top) <= topDetectionOffset
}
// MARK: - UIScrollViewDelegate