Skip to content
This repository was archived by the owner on Feb 2, 2023. It is now read-only.
This repository was archived by the owner on Feb 2, 2023. It is now read-only.

[ASRangeControllerBeta] Must handle large scroll deltas where one runloop map contain totally disjoint set of indexPaths. #1034

@knopp

Description

@knopp

@appleguy, it seems that the way ASRangeControllerBeta works is that it takes union of FetchData, Display and Visible index paths and updates each node in the set. However when scrollToItemAtIndexPath is used, nodes that were previously visible might not be part of the set (because they are too far, and not even members of FetchData set) and thus retain old interface state, even though they are no longer visible.

I understand that the idea is that the range controller doesn't keep any unnecessary state, but it doesn't seem to be very reliable when jumping further than range tuning parameters for fetch data.

One possible solution would be to set _scrollDirection = 0 on collectionView when manually jumping to an offset (or using scrollToIndexPath, etc) and then refresh nodes at all existing indexPaths in _updateVisibleNodeIndexPaths.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions