Skip to content
This repository was archived by the owner on Jun 19, 2024. It is now read-only.
This repository was archived by the owner on Jun 19, 2024. It is now read-only.

[iOS] - Page change sometimes not detected #58

Open
@SelminBiop

Description

@SelminBiop

Observed Behaviour

Sometimes when changing the CarouselView's current page by swiping, the page change seems to not be detected. All properties relating to it won't trigger their respective BindableProperty (Position, PositionChangedCommand, CurrentItem, etc.).

When using an indicator view with the CarouselView, you'll notice that the indicator will be stuck at the page where the page change failed from. For example, if you swiped to go from page 2 to page 3 and the event didn't trigger, indicator will be stuck at position 2.

Expected Behaviour

Swiping to a new page should always trigger the corresponding Events/Properties.

Workaround

The CarouselView will fallback to a valid state when swiping back to the page where the page change was not detected. In the previous example, that would be page 2.

Impact

Bad/Buggy user experience

Additional Information

  • Reproduced with Xamarin Forms 5.0.0.2012 (latest) on an iPhone 8 plus running iOS 14.5
  • I have a repro rate of less than 5%
  • DataTemplate's content doesn't seem to influence this bug since I was able to repro with an empty frame
  • CarouselView's xaml
    image
  • GIF of the bug : the left swipe before the pause of changing page is not detected manifesting itself by the indicator being stuck at the first position. Going back to the first page restores the CarouselView state and then it works correctly again.
    CarouselBug

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions