xamarin/Xamarin.Forms

[iOS] ListView with GroupShortNameBinding and RTL language has ViewCell partially off screen

Open

#3,180 opened on Jun 28, 2018

 (3 comments) (0 reactions) (0 assignees)C# (1,926 forks)batch import
a/listviewa/rtle/3 :clock3:help wantedp/iOS 🍎t/bug :bug:up-for-grabs

Repository metrics

Stars
 (5,644 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Description

When defining/binding the ListView option GroupShortNameBinding in XAML for RTL language (e.g. Arabic) shifts the whole ViewCell over to the right and causes part of our grid in the viewcell to be off screen. RTL for Android looks fine. Everything works fine for LTR languages and removing the GroupShortNameBinding has everything looking as it should.

Steps to Reproduce

  1. Create a ListView with Grouping enabled with structure like this:

    <ListView.ItemTemplate> <Grid.RowDefinitions> </Grid.RowDefinitions> <Grid.ColumnDefinitions> </Grid.ColumnDefinitions> // we use first column as thin color coding flag which doesn't appear on screen in RTL for iOS

// .... whatever for content ...

  1. Set GroupShortNameBinding in ListView
  2. Select RTL language

Expected Behavior

Grid should be fully displayed on the screen for ListView regardless of language, with jumplist on the appropriate side of the screen.

Actual Behavior

On iOS, for RTL language (e.g. Arabic), the ListView shifts the whole ViewCell over to the right and causes part to be off screen. Looks to be about a 15-20px shift. If you remove GroupShortNameBinding, then on iOS with RTL, all looks fine. LTR languages look fine with the GroupShortNameBinding defined or not.

Looks fine on Android for both RTL and LTR languages since there is no jumplist.

Basic Information

  • Version with issue: 3.1.0.583944
  • Last known good version: 2.5.1.527436
  • IDE: Visual Studio (Win)
  • Platform Target Frameworks:
    • iOS: Target 9.0 -- with SDK for 11.3

Contributor guide