gpt4 book ai didi

c# - UITableView 多列实现

转载 作者:行者123 更新时间:2023-11-29 12:14:34 27 4
gpt4 key购买 nike

我,就像我看到许多其他人一样,正在努力接受 UITableView 不支持多列这一事实。我见过有人提到 UICollectionView“做这个”,但由于可用的文档/示例有限,我不明白如何最好地实现它。

我刚刚从一个 Android 版本开始,这很简单,但是我已经浪费了几个小时来尝试解决 iOS 上的这个微不足道的问题。

我正在使用 Xamarin,我要做的就是显示购物车。

4 列:名称、数量、价格和删除按钮。

我一直在尝试实现 4 个独立的 UITableView,并且我一直在使用此处找到的示例 UITableViewSource 实现:https://developer.xamarin.com/recipes/ios/content_controls/tables/populate_a_table/ .然而,这依赖于值的字符串数组,感觉就像一个 hack。我不确定如何修改它以便我可以传递一个具有自己的点击事件的按钮。

谁能帮我解释一下如何最好地解决显示购物车这一琐碎任务?

我也不确定如何最好地设置标题“名称”、“数量”、“价格”等。我只是将它们添加为另一行吗?

非常感谢任何帮助。

最佳答案

您应该将自定义单元格与您想要的任何布局一起使用。

只需创建单元格(在 Xamarin Studio 中右键单击解决方案资源管理器中的文件夹 -> 添加 -> 新文件 -> iOS -> iPhone TableView 单元格)并根据需要对其进行布局。

然后覆盖表源中的方法:

public class CustomTableSource : UITableSource
{
IEnumerable datasource;
const string cellIdentifier = "YourCustomCell";

public CustomTableSource(IEnumerable datasource)
{
this.datasource = datasource;
}

public override nint RowsInSection (UITableView tableview, nint section)
{
return datasource.Count();
}

public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
{
var cell = tableView.DequeueReusableCell (cellIdentifier) as YourCustomCell;
if (cell == null)
cell = new YourCustomCell(cellIdentifier);
// populate cell here
// for if your cell has UpdateData method
cell.UpdateData(datasource[indexPath.Row]);

return cell;
}
}

更多信息可以找到here

UPD 表源示例

关于c# - UITableView 多列实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32324266/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com