This repository was archived by the owner on May 1, 2024. It is now read-only.
This repository was archived by the owner on May 1, 2024. It is now read-only.
[Bug] iOS - Horizontal ScrollView is not scrolled correctly on RTL if initially hidden #13705
Open
Description
Description
If a horizontal ScrollView with a StackLayout or Grid inside it is not visible when the Page is first visible, when the ScrollView is visible, the contents are scrolled to the right rather than the expected behaviour of being scrolled to the left.
This only occurs on iOS. On Android the behaviour is as expected.
Steps to Reproduce
- Create an RTL-aware Xamarin.Forms iOS app
- Add a horizontal ScrollView with a StackLayout in it, and with enough content to make the ScrollView need to scroll, and with logic to show the ScrollView after the page is displayed.
- Build and run the app on an iPhone which has its culture set to a RTL culture.
Expected Behavior
The ScrollView appears scrolled to the left, and needs to be scrolled to the right to see content on the left.
Actual Behavior
The ScrollView appears scrolled to the right, and needs to be scrolled to the left to see content on the right.
Basic Information
- Version with issue: Xamarin.Forms 5.0.0.1931
- Last known good version: Not known.
- Platform Target Frameworks:
- iOS: 8.0
- NuGet Packages:
- Affected Devices: iPhone SE (2nd Generation) simulator and physical devices.
Environment
Show/Hide Visual Studio info
=== Visual Studio Community 2019 for Mac ===
Version 8.8.7 (build 18)
Installation UUID: abff9ac6-8499-4e25-bb84-cd6af42fbe98
GTK+ 2.24.23 (Raleigh theme)
Xamarin.Mac 6.18.0.23 (d16-6 / 088c73638)
Package version: 612000113
=== Mono Framework MDK ===
Runtime:
Mono 6.12.0.113 (2020-02/4fdfb5b1fd5) (64-bit)
Package version: 612000113
=== Roslyn (Language Service) ===
3.8.0-5.20519.18+4c195c3ac1974edcefa76774d7a59a2350ec55fa
=== NuGet ===
Version: 5.8.0.6860
=== .NET Core SDK ===
SDK: /usr/local/share/dotnet/sdk/5.0.102/Sdks
SDK Versions:
5.0.102
5.0.101
5.0.100
3.1.405
3.1.404
3.1.403
3.1.402
3.1.401
3.1.302
3.1.301
3.1.300
3.1.202
3.1.200
3.1.102
3.1.101
3.0.101
MSBuild SDKs: /Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/MSBuild/Current/bin/Sdks
=== .NET Core Runtime ===
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
5.0.2
5.0.1
5.0.0
3.1.11
3.1.10
3.1.9
3.1.8
3.1.7
3.1.6
3.1.5
3.1.4
3.1.2
3.1.1
3.0.1
2.1.23
2.1.22
2.1.21
2.1.20
2.1.19
2.1.18
2.1.17
2.1.16
2.1.15
2.1.14
=== .NET Core 3.1 SDK ===
SDK: 3.1.405
=== Xamarin.Profiler ===
Version: 1.6.12.29
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
=== Updater ===
Version: 11
=== Apple Developer Tools ===
Xcode 12.3 (17715)
Build 12C33
=== Xamarin.Mac ===
Xamarin.Mac not installed. Can't find /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/Version.
=== Xamarin.iOS ===
Version: 14.8.0.3 (Visual Studio Community)
Hash: c51fabee8
Branch: xcode12.3
Build date: 2020-12-10 21:05:05-0500
=== Xamarin Designer ===
Version: 16.8.0.510
Hash: 44e3f3ce9
Branch: remotes/origin/d16-8
Build date: 2020-12-10 00:06:14 UTC
=== Xamarin.Android ===
Version: 11.1.0.26 (Visual Studio Community)
Commit: xamarin-android/d16-8/a36ce73
Android SDK: /Users/jameslavery/Library/Developer/Xamarin/android-sdk-macosx
Supported Android versions:
7.0 (API level 24)
8.1 (API level 27)
SDK Tools Version: 26.1.1
SDK Platform Tools Version: 29.0.6
SDK Build Tools Version: 29.0.2
Build Information:
Mono: 5e9cb6d
Java.Interop: xamarin/java.interop/d16-8@79d9533
ProGuard: Guardsquare/proguard/proguard6.2.2@ebe9000
SQLite: xamarin/sqlite/3.32.1@1a3276b
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-8@2fb1cbc
=== Microsoft OpenJDK for Mobile ===
Java SDK: /Users/jameslavery/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.8.0.32
Hash: 01a7774
Branch: remotes/origin/d16-8
Build date: 2021-01-14 00:34:58 UTC
=== Android Device Manager ===
Version: 16.8.0.46
Hash: 0a81419
Branch: remotes/origin/d16-8
Build date: 2021-01-14 00:35:22 UTC
=== Build Information ===
Release ID: 808070018
Git revision: 0f6def3c0ff5f9cee230e65718561cb41c8eedc0
Build date: 2021-01-29 08:24:09-05
Build branch: release-8.8
Xamarin extensions: 0f6def3c0ff5f9cee230e65718561cb41c8eedc0
=== Operating System ===
Mac OS X 10.16.0
Darwin 20.3.0 Darwin Kernel Version 20.3.0
Thu Jan 21 00:07:06 PST 2021
root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64
=== Enabled user installed extensions ===
MFractor 4.4.6
Straight8's SpecFlow Integration 1.11.3.0
AddinMaker 1.6.0
Project System Tools 0.2
Resource Dictionary Adder 1.0
Screenshots
The first row of labels is always visible. It is scrolled correctly.
The second row of labels in the screenshot below was initially hidden. When shown, the labels are scrolled to the right.
Reproduction Link
Workaround
No workaround found.