Xamarin.ios Xamarin在iPad上留下了空白

Xamarin.ios Xamarin在iPad上留下了空白,xamarin.ios,xamarin.forms,Xamarin.ios,Xamarin.forms,当我填充列表视图时,所有单元格都留有空白,我会面临奇怪的行为 在模拟器中测试设备iPad 9,在模拟器中测试设备iPad 12 这是我的问题的屏幕 还有我的第二份名单 这是我的Xaml <customRender:ExtList x:Name="listViewFlights" BackgroundColor ="{StaticResource white_color}" ItemTapped="ListView_OnItemTapped"

当我填充列表视图时,所有单元格都留有空白,我会面临奇怪的行为

在模拟器中测试设备iPad 9,在模拟器中测试设备iPad 12

这是我的问题的屏幕 还有我的第二份名单

这是我的Xaml

 <customRender:ExtList x:Name="listViewFlights" BackgroundColor ="{StaticResource white_color}" 
                      ItemTapped="ListView_OnItemTapped" SeparatorColor="Gray" SeparatorVisibility="Default"  
                      MinimumHeightRequest="40" IsPullToRefreshEnabled="True" Refreshing="ListViewFlights_Refreshing"  >
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <customRender:CustomViewCell >
                            <StackLayout  Spacing="0" BackgroundColor="Aqua">

                                <Grid VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"   x:Name="gridCell"  RowSpacing="0" ColumnSpacing="0">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="*"></RowDefinition>
                                    </Grid.RowDefinitions>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="3.25*"></ColumnDefinition>
                                        <ColumnDefinition Width="4*"></ColumnDefinition>
                                        <ColumnDefinition Width="4.75*"></ColumnDefinition>
                                        <ColumnDefinition Width="Auto"></ColumnDefinition>
                                    </Grid.ColumnDefinitions>
                                    <Label Grid.Row="0" Grid.Column="0" Text="{Binding FirstListColumn}" Style="{StaticResource GridItemStyleLabelStart_os}" Margin="10,0,0,0"/>
                                    <StackLayout Grid.Row="0" Grid.Column="1" Padding="{Binding FlightListColumn2Padding}" VerticalOptions="Center"  >
                                        <Label Text="{Binding Dep_Dest}" Style="{StaticResource GridItemStyleLabel_os}" HorizontalTextAlignment="Start"></Label>
                                    </StackLayout>
                                    <Grid Grid.Row="0" Grid.Column="2"  HorizontalOptions="FillAndExpand"  RowSpacing="0" >
                                        <Grid.RowDefinitions>
                                            <RowDefinition Height="*"></RowDefinition>
                                        </Grid.RowDefinitions>
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="1.5*"></ColumnDefinition>
                                            <ColumnDefinition Width="3*"></ColumnDefinition>
                                            <ColumnDefinition Width="5.5*"></ColumnDefinition>
                                        </Grid.ColumnDefinitions>
                                        <Frame Grid.Row="0" Grid.Column="0"  IsVisible="{Binding IsRecalculated}"  Padding="0" Margin="0,7" OutlineColor="#5C768E" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" HasShadow="False" BackgroundColor="Transparent">
                                        <Label  Text="R" Style="{StaticResource GridItemStyleLabelStart}"  HorizontalOptions="CenterAndExpand"  IsVisible ="{Binding IsRecalculated}"  />
                                        </Frame>
                                        <Label Grid.Row="0" Grid.Column="1" Text="{Binding ATCCtot }" Style="{StaticResource GridItemStyleLabelStart}" TextColor="Red" HorizontalOptions="Start" />
                                        <Label Grid.Row="0" Grid.Column="2" Text="{Binding PreparedStd}" Style="{StaticResource GridItemStyleLabelEnd_os}" HorizontalOptions="EndAndExpand" HorizontalTextAlignment="End"  />
                                    </Grid>
                                    <BoxView x:Name="SelectedBox" Grid.Row="0" Grid.Column="3"  Opacity="{Binding IsSelected}" BackgroundColor="{StaticResource sub_header}" >
                                        <BoxView.WidthRequest>
                                            <OnIdiom x:TypeArguments="x:Double" Tablet="5"  />
                                        </BoxView.WidthRequest>
                                    </BoxView>

                                </Grid>
                            </StackLayout>
                        </customRender:CustomViewCell>

                    </DataTemplate>
                </ListView.ItemTemplate>
            </customRender:ExtList>

my尝试解决此问题:

经过长时间的搜索,我在xamarin网站上找到了一个解决方案,就是对我的列表视图进行自定义渲染,但它可以工作

 public class CustomListViewRenderer : ListViewRenderer
    {
        protected override void OnElementChanged (ElementChangedEventArgs<Xamarin.Forms.ListView> e)
        {
            base.OnElementChanged (e);
            if (e.NewElement != null) {
                var listView = Control as UITableView;
                listView.CellLayoutMarginsFollowReadableWidth = false;
            }
        }
    }
公共类CustomListViewRenderer:ListViewRenderer { 受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e) { 碱基。一个元素改变(e); if(例如NewElement!=null){ var listView=控件作为UITableView; listView.CellLayoutMarginsFollowReadableWidth=false; } } } 参考

这是一个正在被固定的过程。

这是一个正在被固定的过程