xamarin / Xamarin.Forms

Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
https://aka.ms/xamarin-upgrade
Other
5.62k stars 1.87k forks source link

[Bug] [iOS] CarouselView sluggish scrolling when looping disabled #12943

Open wolf-mptechnology opened 3 years ago

wolf-mptechnology commented 3 years ago

Description

When using a CarouselView and setting the Loop property to False, the scrolling behavior is hesitant and sometimes even scrolls back to the initial item.

Steps to Reproduce

  1. Run attached project with Loop = False
  2. Swipe the CarouselView with the intention to get to the last item in a single swipe
  3. The scrolling usually stops after 2-3 items

Expected Behavior

The cards are scrolled smoothly without interruption depending on the speed of the swipe. It should be possible so scroll over multiple items (e.g. 10) with a single swipe.

Actual Behavior

The scrolling is hesitant and sometimes jumps back. It is not possible to scroll more than 3 items with one swipe.

Other Observations

In the video with Loop=True you can see the start screen showing the last item (Test11) first. It should actually show the first item (Test1) instead. Also near the end of the each scroll the animation stutters shortly.

Basic Information

Environment

=== Visual Studio Community 2019 for Mac ===

Version 8.7.4 (build 38)
Installation UUID: 164b929e-57ee-485b-8cc8-6b088ea16724
    GTK+ 2.24.23 (Raleigh theme)
    Xamarin.Mac 6.18.0.23 (d16-6 / 088c73638)

    Package version: 612000090

=== Mono Framework MDK ===

Runtime:
    Mono 6.12.0.90 (2020-02/d3daacdaa80) (64-bit)
    Package version: 612000090

=== Roslyn (Language Service) ===

3.7.0-6.20412.3+d3c3a44a4e7ad31cc75c59be0d3df4a19ff33878

=== NuGet ===

Version: 5.7.0.6702

=== Xamarin Designer ===

Version: 16.7.0.492
Hash: f5afe667d
Branch: remotes/origin/d16-7-vsmac
Build date: 2020-07-10 18:42:54 UTC

=== .NET Core SDK ===

SDK: /usr/local/share/dotnet/sdk/3.1.401/Sdks
SDK Versions:
    3.1.401
    3.1.200
    3.1.102
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/Current/bin/Sdks

=== .NET Core Runtime ===

Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
    3.1.7
    3.1.2
    2.1.21
    2.1.16

=== Xamarin.Profiler ===

Version: 1.6.13.11
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

=== Updater ===

Version: 11

=== Apple Developer Tools ===

Xcode 12.2 (17535)
Build 12B45b

=== Xamarin.Mac ===

Version: 6.20.2.2 (Visual Studio Community)
Hash: 817b6f72a
Branch: d16-7
Build date: 2020-07-18 18:44:59-0400

=== Xamarin.iOS ===

Version: 14.4.1.3 (Visual Studio Community)
Hash: e30c41de3
Branch: d16-8
Build date: 2020-10-20 22:18:50-0400

=== Xamarin.Android ===

Version: 11.0.2.0 (Visual Studio Community)
Commit: xamarin-android/d16-7/025fde9
Android SDK: /Users/wolf/Library/Developer/Xamarin/android-sdk-macosx
    Supported Android versions:
        8.1 (API level 27)

SDK Tools Version: 26.1.1
SDK Platform Tools Version: 29.0.4
SDK Build Tools Version: 28.0.3

Build Information: 
Mono: 83105ba
Java.Interop: xamarin/java.interop/d16-7@1f3388a
ProGuard: Guardsquare/proguard/proguard6.2.2@ebe9000
SQLite: xamarin/sqlite/3.32.1@1a3276b
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-7@017078f

=== Microsoft OpenJDK for Mobile ===

Java SDK: /Users/wolf/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.25
1.8.0-25
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

=== Android SDK Manager ===

Version: 16.7.0.13
Hash: 8380518
Branch: remotes/origin/d16-7~2
Build date: 2020-08-19 22:18:28 UTC

=== Android Device Manager ===

Version: 16.7.0.24
Hash: bb090a3
Branch: remotes/origin/d16-7
Build date: 2020-08-19 22:18:52 UTC

=== Build Information ===

Release ID: 807040038
Git revision: 7f322926a2e0a5fa0c1e3833215a191883f7514a
Build date: 2020-08-20 10:10:20-04
Build branch: release-8.7
Xamarin extensions: 7f322926a2e0a5fa0c1e3833215a191883f7514a

=== Operating System ===

Mac OS X 10.15.7
Darwin 19.6.0 Darwin Kernel Version 19.6.0
    Thu Oct 29 22:56:45 PDT 2020
    root:xnu-6153.141.2.2~1/RELEASE_X86_64 x86_64

Videos

ios_carousel_scrolling.zip

Reproduction Link

CarouselTest.zip

Workaround

no workaround

jacob-maristany commented 3 years ago

@Redth , any chance of a priority on this one? This is being used by the xct:TabView and this "sluggish" scrolling is causing issues for us.