SwiftUIPager
SwiftUIPager copied to clipboard
[BUG] Quick sliding to the top and bottom, do not adjust this method "onPageChanged"
Quick sliding, do not adjust this method "onPageChanged"
I can confirm that there is an issue with the 'onPageChanged' handler.
Describe the bug
The 'onPageChanged' callback (PagerContent.swift:232) is not called in the event of gestures followed quickly by each other. Therefore, the app is not able to react on index change updates.
To Reproduce
- Quick Drag Gesture from right to left followed instantly by a second one.
Expected behavior
'onPageChanged' handler will be called on every page index change.
Environment:
OS: iOS 16 SwiftUIPager 2.5.0
Additional context
The SwiftUIPager detects both Drag Gestures and finishes both with 'onDragGestureEnded' (PagerContent.swift:373). The 'onAnimationCompleted' (PagerContent.swift:227) observer triggers only once, which is totally fine. But the second 'onDragGestureEnded' call sets self.pagerModel.pageIncrement = 0
. Therefore, the following 'onAnimationCompleted' observation won't trigger the 'onPageChanged' callback.
We really need this fix. For now we're pointing to the forked commit (thank you @geraldvoit !!!) but we would really like to have the fix in an official release of the library. Is there any chance this will happen?
Hello, @fermoya. Can you create a new release of the library with this fix, please🙏