Listview Xamarin表单列表视图在ios上无法正常工作
我试图用Xamarin表单创建一个简单的列表视图。listView在android中工作,但在iOS上我遇到了一个错误,内容被错误地放置在单元格上。请参见下面的我的图片和代码: 这是我的代码: 页面 单元格: 项目的DataAccessLayer:Listview Xamarin表单列表视图在ios上无法正常工作,listview,xamarin,xamarin.forms,Listview,Xamarin,Xamarin.forms,我试图用Xamarin表单创建一个简单的列表视图。listView在android中工作,但在iOS上我遇到了一个错误,内容被错误地放置在单元格上。请参见下面的我的图片和代码: 这是我的代码: 页面 单元格: 项目的DataAccessLayer: public static List<NewsItem> GetNewsItemList() { List<NewsItem> NewsItemList = new List<NewsItem> ();
public static List<NewsItem> GetNewsItemList()
{
List<NewsItem> NewsItemList = new List<NewsItem> ();
NewsItemList.Add(new NewsItem { header = "News1", content = "content1"});
NewsItemList.Add(new NewsItem { header = "News2", content = "content2"});
NewsItemList.Add(new NewsItem { header = "News3", content = "content3"});
NewsItemList.Add(new NewsItem { header = "News4", content = "content4"});
return NewsItemList;
}
public静态列表GetNewsItemList()
{
List NewsItemList=新列表();
添加(新的新闻项{header=“News1”,content=“content1”});
添加(新的新闻项{header=“News2”,content=“content2”});
添加(新的新闻项{header=“News3”,content=“content3”});
添加(新的新闻项{header=“News4”,content=“content4”});
返回NewsItemList;
}
我做错了什么?这里的问题是您使用的填充是20px,太大了 看看什么是填充——它是容器元素和子元素布局的空间之间的空间 在本例中,您将20px放在两侧,因此
标题标签从顶部下方20px开始,取20px本身,而内容标签从顶部下方开始。同时,ListView仍有其默认的行高,看起来大约是42px,因此contentLabel
从偏移量40px开始,因此位于下一个单元格上
您可以将填充更改为s。填充=新厚度(20,2,20,2)代码>这样你在左边和右边得到20像素,但在顶部和底部只有2像素
您还将注意到,ListView从屏幕顶部开始,iOS栏覆盖了部分内容。要修复此问题,请对内容页本身应用类似的填充技巧:
if (Device.OS == TargetPlatform.iOS)
this.Padding = new Thickness (0, 20, 0, 0);
这里的问题是您使用的填充是20px,太大了
看看什么是填充——它是容器元素和子元素布局的空间之间的空间
在本例中,您将20px放在两侧,因此标题标签从顶部下方20px开始,取20px本身,而内容标签从顶部下方开始。同时,ListView仍有其默认的行高,看起来大约是42px,因此contentLabel
从偏移量40px开始,因此位于下一个单元格上
您可以将填充更改为s。填充=新厚度(20,2,20,2)代码>这样你在左边和右边得到20像素,但在顶部和底部只有2像素
您还将注意到,ListView从屏幕顶部开始,iOS栏覆盖了部分内容。要修复此问题,请对内容页本身应用类似的填充技巧:
if (Device.OS == TargetPlatform.iOS)
this.Padding = new Thickness (0, 20, 0, 0);
这里的问题是您使用的填充是20px,太大了
看看什么是填充——它是容器元素和子元素布局的空间之间的空间
在本例中,您将20px放在两侧,因此标题标签从顶部下方20px开始,取20px本身,而内容标签从顶部下方开始。同时,ListView仍有其默认的行高,看起来大约是42px,因此contentLabel
从偏移量40px开始,因此位于下一个单元格上
您可以将填充更改为s。填充=新厚度(20,2,20,2)代码>这样你在左边和右边得到20像素,但在顶部和底部只有2像素
您还将注意到,ListView从屏幕顶部开始,iOS栏覆盖了部分内容。要修复此问题,请对内容页本身应用类似的填充技巧:
if (Device.OS == TargetPlatform.iOS)
this.Padding = new Thickness (0, 20, 0, 0);
这里的问题是您使用的填充是20px,太大了
看看什么是填充——它是容器元素和子元素布局的空间之间的空间
在本例中,您将20px放在两侧,因此标题标签从顶部下方20px开始,取20px本身,而内容标签从顶部下方开始。同时,ListView仍有其默认的行高,看起来大约是42px,因此contentLabel
从偏移量40px开始,因此位于下一个单元格上
您可以将填充更改为s。填充=新厚度(20,2,20,2)代码>这样你在左边和右边得到20像素,但在顶部和底部只有2像素
您还将注意到,ListView从屏幕顶部开始,iOS栏覆盖了部分内容。要修复此问题,请对内容页本身应用类似的填充技巧:
if (Device.OS == TargetPlatform.iOS)
this.Padding = new Thickness (0, 20, 0, 0);
我建议减少堆栈布局上的填充
——或者将列表视图的行高
设置得更大,以适应所有填充
我建议减少堆栈布局上的填充
——或者设置ListView的RowHeight
要更大以容纳所有Padding
我建议减少StackLayout上的Padding
——或者将ListView的RowHeight
设置为更大以容纳所有Padding
我建议减少堆栈布局上的填充
——或者将列表视图的行高
设置为更大,以容纳所有的填充