Xamarin Forms:空白 space 显示在 ios 平台中的列表视图顶部

Xamarin Forms: Blank space is showing on top of Listviews in ios platform

在我项目中的所有列表视图之上,ios 平台上有一个空白 space,android 或 windows 上没有这样的问题。

截图:

我的代码:

<ListView 
        x:Name="MyItems"
        RefreshCommand="{Binding RefreshCommand}"
        IsPullToRefreshEnabled="True"
        IsRefreshing="{Binding IsRefreshing}"
        HasUnevenRows="True">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <ViewCell.View>
                        <StackLayout
                            Orientation="Vertical"> 

                            <StackLayout
                                HorizontalOptions="FillAndExpand"
                                VerticalOptions="FillAndExpand"
                                Orientation="Horizontal">
                                
                                </StackLayout>
                            </StackLayout>
                        </ViewCell.View>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        <ListView.Footer>
            <Label/>
        </ListView.Footer>
    </ListView>

其他详细信息:

请查看此主题:https://developer.apple.com/forums/thread/683980

要解决这个问题,我们可以为 ListView 添加一个自定义渲染器

试试下面的代码:

    [assembly: ExportRenderer(typeof(ListView), typeof(LVRenderer))]
namespace YourNameSpace.iOS
{
    public class LVRenderer : ListViewRenderer
    {
        public LVRenderer()
        {
        }

        protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
        {
            base.OnElementChanged(e);
            if (Control != null)
            {
                Control.SectionHeaderTopPadding = new nfloat(0);
            }
        }
    }
}

在这里找到:

Weird space on top of the listview after updating iOS to 15