gpt4 book ai didi

c# - 使用 UITableViewDataSource 在 MonoTouch 中填充一个简单的 UITableView - 如何使用 UITableViewDataSource

转载 作者:可可西里 更新时间:2023-11-01 03:18:54 28 4
gpt4 key购买 nike

到目前为止,我很喜欢 MonoTouch,但是一旦您通过了几个初学者类(class),就会发现缺少文档和示例。

我正在努力解决在 MonoTouch 中填充简单 UITableView 的简单概念。我已经看到使用自定义单元格执行此操作的示例,并使用不同的信息广泛自定义列表,但我只是在寻找如何实现这个简单事情的最低限度。我是一名专业的 .NET 开发人员,对 iOS 还很陌生,所以我仍然在思考它的工作原理。

我只想要以下内容。创建项目列表将该项目列表分配给 UITableView 以允许用户滚动列表。寻找一个非常非常简单的例子。

我遇到的最大问题是创建一个 UITableViewDataSource 对象。它是抽象的,所以我无法创建它的实例。我可以创建我自己的继承它的类,但我正在寻找框架中的具体实现,而无需创建我自己的实现。我是不是被 .NET 宠坏了,必须为它创建一个新类,或者它是否存在于框架中的某个地方,我只是找不到它?

[在这里回答]我找到了答案,但 StackOverflow 不会让我以低于 100 的声誉回答我自己的问题,或者除非我等待 8 个小时,但我不愿意这样做。回复如下:

我创建了以下继承 UITableViewSource 的类。这样做是必须的。 GetCell 控制如何在表格中呈现单元格。

创建一个实例并传入要填充的字符串列表。

这个例子来自(我稍微修改过)我正在阅读的 Wrox 出版社的书 - “Professional iPhone Programming with MonoTouch and .NET C#”

public class TableViewSource : UITableViewSource
{
private List<string> rows;

public TableViewSource (List<string> list)
{
rows = list;
}

public override int RowsInSection (UITableView tableview, int section)
{
return rows.Count;
}

public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
UITableViewCell cell = new UITableViewCell(UITableViewCellStyle.Default,"mycell");
cell.TextLabel.Text = rows[indexPath.Row];
return cell;
}
}

将以下代码放在屏幕上的 ViewDidLoad 中。

var list = new List<String>()
{
"San Francisco",
"Buenos Aires",
"São Paulo"
};

TableViewSource tableData = new TableViewSource(list);
this.tblTrips.Source = tableData;

这给了我正在寻找的东西,而无需深入研究 MonoTouch.Dialog

最佳答案

UITableView,以及关联的委托(delegate)和数据源类型,不是一个非常友好的 API - 对于典型的 .NET 开发人员来说更是如此。有时需要它,但在大多数情况下,您会希望使用更简单的东西。

Create a list of items Assign that list of items to the UITableView to allow the user to scroll the list. Looking for a very very simple example.

这似乎适合 MonoTouch.Dialog的目标。该组件现在随 MonoTouch 一起提供,但您可以找到 sample source code在 github 上。

Xamarin 的文档网站也有一个 tutorial使用 MonoTouch.Dialog 和漂亮的 video也可用。

关于c# - 使用 UITableViewDataSource 在 MonoTouch 中填充一个简单的 UITableView - 如何使用 UITableViewDataSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10455813/

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