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>
其他详细信息:
XF版本:4.8.0.1821
项目类型是可移植
请查看此主题: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
在我项目中的所有列表视图之上,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>
其他详细信息:
XF版本:4.8.0.1821
项目类型是可移植
请查看此主题: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