Freigeben über


Tabellenteile und -funktionen in Xamarin.iOS

Eine UITableView kann eine "gruppierte" oder "einfache" Formatvorlage aufweisen und besteht aus den folgenden Teilen:

Diese Screenshots zeigen, wie Abschnittszeilen, Kopfzeilen, Fußzeilen, Bearbeitungssteuerelemente und der Index angezeigt werden.

Diese Screenshots zeigen, wie Abschnittszeilen, Kopfzeilen, Fußzeilen, Bearbeitungssteuerelemente und der Index angezeigt werden

Diese Teile werden im Folgenden ausführlicher beschrieben:

Abschnittskopf

Zellen können optional in Abschnitte gruppiert, mit einer benutzerdefinierten Kopfzeile beschriftet und/oder mit einer Fußzeile beschriftet werden. Die Kopfzeile kann mit einem Zeichenfolgenwert oder einer benutzerdefinierten Ansicht festgelegt werden, um ein anderes Layout oder eine andere Formatvorlage zu ermöglichen.

Zellen

Zellen sind das Standard Benutzeroberflächenelement für eine Tabelle. Wenn sie ordnungsgemäß implementiert werden, werden Zellen für die Speichereffizienz wiederverwendet. Es gibt vier integrierte Zellenformatvorlagen, und Sie können eigene benutzerdefinierte Zellen erstellen – entweder im Code oder im Designer, wenn Sie Storyboards verwenden.

Die optionale Abschnittsfußzeile kann mit einem Zeichenfolgenwert festgelegt werden, oder eine benutzerdefinierte Ansicht kann bereitgestellt werden, um ein anderes Layout oder eine andere Formatvorlage zu ermöglichen. Abschnittskopf- und Fußzeilen können unabhängig voneinander festgelegt werden.

Index

Der Index wird als Zeichenstreifen am rechten Rand der Tabelle angezeigt. Das Berühren oder Ziehen des Indexes beschleunigt den Bildlauf zu diesem Teil der Tabelle. Ein Index ist optional, wird jedoch empfohlen, um durch lange Listen zu navigieren. Ein Index wird in der Regel nicht mit der gruppierten Formatvorlage verwendet.

Bearbeitungsmodus

Es stehen einige verschiedene Bearbeitungsfeatures zur Verfügung:

  • Wischen Sie, um einzelne Zellen zu löschen.
  • Eingabe des Bearbeitungsmodus zum Anzeigen von Löschschaltflächen in jeder Zeile
  • Geben Sie den Bearbeitungsmodus ein, um neu angeordnete Ziehpunkte anzuzeigen.
  • Einfügen neuer Zellen (mit Animation).

Der re Standard der dieses Dokuments zeigt, wie Sie alle diese UITableView-Features mit Xamarin.iOS implementieren.

Übersicht über Klassen

Die primären Klassen, die zum Anzeigen von Tabellenansichten verwendet werden, werden hier gezeigt:

Die primären Klassen, die zum Anzeigen von Tabellenansichten verwendet werden, werden hier gezeigt.

Im Folgenden wird der Zweck der einzelnen Klassen beschrieben:

  • UITableView – Eine Ansicht, die eine Sammlung von Zellen in einem Bildlaufcontainer enthält. Die Tabellenansicht verwendet in der Regel den gesamten Bildschirm in einer i Telefon-App, ist aber möglicherweise als Teil einer größeren Ansicht auf dem iPad vorhanden (oder wird in einem Popover angezeigt).
  • UITableViewCell – Eine Ansicht, die eine einzelne Zelle (oder Zeile) in einer Tabellenansicht darstellt. Es gibt vier integrierte Zelltypen, und es ist möglich, benutzerdefinierte Zellen sowohl in C# als auch mit iOS Designer zu erstellen.
  • UITableViewSource – Xamarin.iOS-exklusive abstrakte Klasse, die alle Methoden bereitstellt, die zum Anzeigen einer Tabelle erforderlich sind, einschließlich Zeilenanzahl, Zurückgeben einer Zellansicht für jede Zeile, Behandeln der Zeilenauswahl und viele andere optionale Features. Sie müssen dies unterklassen, um eine UITableView zu erhalten, die funktioniert.
  • NSIndexPath – Enthält Zeilen- und Abschnittseigenschaften, die die Position einer Zelle in einer Tabelle eindeutig identifizieren.
  • UITableViewController – Ein einsatzbereiter UIViewController, der eine uiTableView hartcodiert als Ansicht aufweist und über die TableView-Eigenschaft zugänglich ist.
  • UIViewController – Wenn die Tabelle nicht den gesamten Bildschirm belegt, können Sie jedem UIViewController eine UITableView hinzufügen, deren Frame entsprechend festgelegt ist.

UITableViewSource ersetzt die folgenden beiden Klassen, die weiterhin in Xamarin.iOS verfügbar sind, aber normalerweise nicht erforderlich sind:

  • UITableViewDataSource – Ein Objective-C Protokoll, das in Xamarin.iOS als abstrakte Klasse modelliert wird. Muss unterklassen sein, um eine Tabelle mit einer Ansicht für jede Zelle sowie Informationen zu Kopfzeilen, Fußzeilen und der Anzahl von Zeilen und Abschnitten in der Tabelle bereitzustellen.
  • UITableViewDelegate – Ein Objective-C Protokoll, das in Xamarin.iOS als Klasse modelliert wird. Behandelt Auswahl, Bearbeitungsfeatures und andere optionale Tabellenfeatures.

In diesem Dokument verwenden alle Beispiele UITableViewSource und ignorieren diese beiden Klassen. Sie werden hier Erwähnung, da alle Objective-C Beispiele in der Apple-Dokumentation darauf verweisen, daher ist es nützlich, zu verstehen, was sie tun (und dass Sie stattdessen die UITableViewSource von Xamarin.iOS verwenden können).