Füllen Sie ein einfaches UITableView in MonoTouch mit UITableViewDataSource - wie zu verwenden UITableViewDataSource

Liebe ich MonoTouch so weit, finde aber die Unterlagen und Muster fehlen, wenn Sie vorbei an den paar Anfänger-Unterricht.

Ich bin kämpfen, mit einem einfachen Konzept, füllen ein einfaches UITableView in MonoTouch. Ich habe schon Beispiele gesehen, dies zu tun mit custom Zellen und umfassend anpassen der Liste mit verschiedenen Informationen, aber ich bin gerade auf der Suche nach dem absoluten minimum, wie dies zu erreichen einfache Sache. Ich bin ein Profi .NET-Entwickler und die sehr neue iOS, also noch Umhüllung meinem Kopf herum, wie es funktioniert.

Ich will nur das folgende.
Erstellen Sie eine Liste der Elemente
Zuordnen, die Liste der Elemente, um die UITableView zu erlauben, dass der Benutzer durch die Liste scrollen. Suche für ein sehr sehr einfaches Beispiel.

Die größte Sache, die ich bin kämpfen, ist die Schaffung eines UITableViewDataSource Objekt. Es ist Abstrakt, so kann ich nicht eine Instanz davon erstellt werden. Ich konnte meine eigene Klasse, die erbt, aber ich bin auf der Suche nach einer konkreten Umsetzung in das framework zu nutzen ohne meine eigenen erstellen. Bin ich zu verwöhnt .NET und erstellen Sie eine neue Klasse, oder gibt es die irgendwo im Rahmen und ich kann es einfach nicht finden?

[Antworten hier]
Ich fand die Antwort, aber StackOverflow nicht lassen Sie mich Antwort auf meine eigene Frage mit weniger als 100 Ruf oder es sei denn, ich warte 8 Stunden, die ich nicht bereit bin zu tun. Antwort unten:

Habe ich die folgende Klasse, die erbt UITableViewSource. Es ist eine Anforderung, es zu tun auf diese Weise. GetCell steuert, wie Sie das Rendern der Zelle auf dem Tisch.

Erstellen Sie eine Instanz, und übergeben Sie eine Liste von strings zu füllen.

Diesem Beispiel kam aus (ich veränderte es etwas) das Buch, das ich Lesen von 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;
    } 
}

Fügen Sie den folgenden code in die ViewDidLoad auf Ihrem Bildschirm.

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

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

Gibt mir das, was ich Suche, ohne dass ein tiefer Tauchgang in MonoTouch.Dialog

InformationsquelleAutor user1060500 | 2012-05-04
Schreibe einen Kommentar