-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Description
Pull to refresh with native scrolling on iOS does not currently work consistently when the view is large enough to be scrollable.
Here's what I know after spending some time looking in to it.
Immediately, canOverscroll
on line 73 is not false when it should be. This is because in handleScroll the scrollTop
value during iOS's native overscrolling can be negative, equating to false.
Setting negative scroll top values to equate the same way as a 0
value would on lines 91, 108, and 139 gets further, but the deltaY - dragOffset <= 0
part of the evaluation on line 91 now calculates incorrectly too. This means overscrolling wont start until the user has dragged more than half the distance above scrollTop
0. dragOffset
is not getting a correct value, which I believe is what causes this, but I have not yet investigated why.
And down the rabbit hole we go :)