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