私は今のところ MonoTouch を気に入っていますが、いくつかの初心者向けレッスンを終えると、ドキュメントとサンプルが不足していることに気付きます。
MonoTouch で単純な UITableView を設定するという単純な概念に苦労しています。カスタムセルでこれを行い、さまざまな情報でリストを大幅にカスタマイズする例を見てきましたが、この単純なことを達成するための最低限の方法を探しています. 私はプロの .NET 開発者であり、iOS に非常に慣れていないため、iOS がどのように機能するかについてまだ頭を悩ませています。
私はちょうど次が欲しいです。アイテムのリストを作成する そのアイテムのリストを UITableView に割り当てて、ユーザーがリストをスクロールできるようにします。非常に単純な例を探しています。
私が苦労している最大のことは、UITableViewDataSource オブジェクトを作成することです。抽象的であるため、インスタンスを作成できません。それを継承する独自のクラスを作成することもできますが、独自のクラスを作成せずに使用するフレームワークでの具体的な実装を探しています。.NET に甘やかされすぎて新しいクラスを作成する必要があるのでしょうか、それともフレームワークのどこかに存在するのに見つからないだけなのでしょうか?
[回答はこちら] 回答 を見つけましたが、StackOverflow では、自分の質問に対する評価が 100 未満の場合、または 8 時間待たなければ回答できません。以下に答えます。
UITableViewSourceを継承する以下のクラスを作成しました。このようにすることが条件です。GetCell は、テーブルにセルをレンダリングする方法を制御します。
このインスタンスを作成し、入力する文字列のリストを渡します。
この例は、Wrox Press から読んでいる本「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 を深く掘り下げなくても、探しているものが得られます。