Erstellen einer Xamarin.iOS-Anwendung mithilfe der Element-API
Dieser Artikel baut auf den Informationen auf, die im Artikel "Einführung in MonoTouch Dialog" vorgestellt werden. Es wird eine exemplarische Vorgehensweise gezeigt, die zeigt, wie Sie den MonoTouch.Dialog (MT) verwenden. D) Element-API, um schnell mit der Erstellung einer Anwendung mit MT.D zu beginnen.
In dieser exemplarischen Vorgehensweise verwenden wir den MT. D Elements-API zum Erstellen eines Master-Detail-Stils der Anwendung, die eine Aufgabenliste anzeigt. Wenn der Benutzer die + Schaltfläche in der Navigationsleiste auswählt, wird der Tabelle für die Aufgabe eine neue Zeile hinzugefügt. Wenn Sie die Zeile auswählen, navigieren Sie zum Detailbildschirm, mit dem wir die Vorgangsbeschreibung und das Fälligkeitsdatum aktualisieren können, wie unten dargestellt:
Einrichten von MT. D
MT. D wird mit Xamarin.iOS verteilt. Zum Verwenden klicken Sie mit der rechten Maustaste auf den Knoten "Verweise" eines Xamarin.iOS-Projekts in Visual Studio 2017 oder Visual Studio für Mac, und fügen Sie einen Verweis auf die MonoTouch.Dialog-1-Assembly hinzu. Fügen Sie using MonoTouch.Dialog
dann nach Bedarf Anweisungen in Ihrem Quellcode hinzu.
Exemplarische Vorgehensweise der Element-API
Im Artikel "Einführung in MonoTouch Dialog" haben wir ein solides Verständnis der verschiedenen Teile von MT.D gewonnen. Wir verwenden die Element-API, um sie alle in einer Anwendung zusammenzustellen.
Einrichten der Multi-Screen-Anwendung
Um den Prozess der Bildschirmerstellung zu starten, erstellt MonoTouch.Dialog ein DialogViewController
, und fügt dann eine RootElement
.
Um eine Mehrbildanwendung mit MonoTouch.Dialog zu erstellen, müssen wir Folgendes ausführen:
- Erstellen der Datei
UINavigationController.
- Erstellen der Datei
DialogViewController.
- Fügen Sie den
DialogViewController
Stamm desUINavigationController.
- Hinzufügen eines
RootElement
zumDialogViewController.
- Hinzufügen
Sections
undElements
ZumRootElement.
Verwenden eines UINavigationController
Um eine Anwendung im Navigationsstil zu erstellen, müssen wir eine UINavigationController
Anwendung erstellen und dann wie RootViewController
in der FinishedLaunching
Methode der AppDelegate
. Um die UINavigationController
Arbeit mit MonoTouch.Dialog zu machen, fügen wir der folgenden Abbildung eine DialogViewController
UINavigationController
hinzu:
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
_window = new UIWindow (UIScreen.MainScreen.Bounds);
_rootElement = new RootElement ("To Do List"){new Section ()};
// code to create screens with MT.D will go here …
_rootVC = new DialogViewController (_rootElement);
_nav = new UINavigationController (_rootVC);
_window.RootViewController = _nav;
_window.MakeKeyAndVisible ();
return true;
}
Der obige Code erstellt eine Instanz einer und RootElement
übergibt sie an die DialogViewController
. Das DialogViewController
hat RootElement
immer einen oben in der Hierarchie. In diesem Beispiel wird die RootElement
Zeichenfolge "Aufgabenliste" erstellt, die als Titel in der Navigationsleiste des Navigationscontrollers dient. An diesem Punkt würde das Ausführen der Anwendung den folgenden Bildschirm darstellen:
Sehen wir uns an, wie Sie die hierarchische Struktur von Sections
MonoTouch.Dialog verwenden und Elements
weitere Bildschirme hinzufügen.
Erstellen der Dialogbildschirme
A DialogViewController
ist eine UITableViewController
Unterklasse, die MonoTouch.Dialog verwendet, um Bildschirme hinzuzufügen. MonoTouch.Dialog erstellt Bildschirme durch Hinzufügen eines RootElement
zu einem DialogViewController
, wie oben gezeigt. Die RootElement
Can have Section
instances that represents the sections of a table.
Die Abschnitte bestehen aus Elementen, anderen Abschnitten oder sogar aus anderen RootElements
Abschnitten. Durch das Verschachteln RootElements
erstellt MonoTouch.Dialog automatisch eine Anwendung im Navigationsstil, wie wir als Nächstes sehen.
Verwenden von DialogViewController
Die DialogViewController
Unterklasse UITableViewController
,, die eine Unterklasse ist, hat eine UITableView
Ansicht. In diesem Beispiel möchten wir der Tabelle jedes Mal Elemente hinzufügen, wenn auf die + Schaltfläche getippt wird. Da die DialogViewController
Eigenschaft zu einem UINavigationController
hinzugefügt wurde, können wir die + Schaltfläche mit der NavigationItem
Eigenschaft 's RightBarButton
hinzufügen, wie unten dargestellt:
_addButton = new UIBarButtonItem (UIBarButtonSystemItem.Add);
_rootVC.NavigationItem.RightBarButtonItem = _addButton;
Als wir die RootElement
frühere Version erstellt haben, haben wir sie an eine einzelne Section
Instanz übergeben, sodass wir Elemente hinzufügen können, während die + Schaltfläche vom Benutzer angetippt wird. Wir können den folgenden Code verwenden, um dies im Ereignishandler für die Schaltfläche auszuführen:
_addButton.Clicked += (sender, e) => {
++n;
var task = new Task{Name = "task " + n, DueDate = DateTime.Now};
var taskElement = new RootElement (task.Name) {
new Section () {
new EntryElement (task.Name, "Enter task description", task.Description)
},
new Section () {
new DateElement ("Due Date", task.DueDate)
}
};
_rootElement [0].Add (taskElement);
};
Dieser Code erstellt jedes Mal, wenn auf die Schaltfläche getippt wird, ein neues Task
Objekt. Im Folgenden wird die einfache Implementierung der Task
Klasse veranschaulicht:
public class Task
{
public Task ()
{
}
public string Name { get; set; }
public string Description { get; set; }
public DateTime DueDate { get; set; }
}
Die Eigenschaft der Name
Aufgabe wird verwendet, um die Untertitel zusammen mit einer Zählervariablen n
zu erstellen, die RootElement
für jeden neuen Vorgang erhöht wird. MonoTouch.Dialog wandelt die Elemente in die Zeilen um, die TableView
beim Hinzufügen der Einzelnen taskElement
hinzugefügt werden.
Präsentieren und Verwalten von Dialogbildschirmen
Wir haben eine RootElement
So verwendet, dass MonoTouch.Dialog automatisch einen neuen Bildschirm für die Details jeder Aufgabe erstellt und zu ihr navigiert, wenn eine Zeile ausgewählt wird.
Der Aufgabendetailseite selbst besteht aus zwei Abschnitten. jeder dieser Abschnitte enthält ein einzelnes Element. Das erste Element wird aus einer EntryElement
Erstellt, um eine bearbeitbare Zeile für die Eigenschaft der Aufgabe Description
bereitzustellen. Wenn das Element ausgewählt ist, wird wie unten dargestellt eine Tastatur für die Textbearbeitung angezeigt:
Der zweite Abschnitt enthält eine DateElement
Funktion, mit der wir die Eigenschaft der DueDate
Aufgabe verwalten können. Wenn Sie das Datum auswählen, wird wie gezeigt automatisch eine Datumsauswahl geladen:
In beiden EntryElement
Fällen DateElement
(oder für ein beliebiges Dateneingabeelement in MonoTouch.Dialog) werden alle Änderungen an den Werten automatisch beibehalten. Wir können dies veranschaulichen, indem wir das Datum bearbeiten und dann zwischen dem Stammbildschirm und verschiedenen Aufgabendetails navigieren, wo die Werte in den Detailbildschirmen erhalten bleiben.
Zusammenfassung
In diesem Artikel wurde eine exemplarische Vorgehensweise vorgestellt, in der gezeigt wurde, wie die MonoTouch.Dialog Elements-API verwendet wird. Es wurden die grundlegenden Schritte zum Erstellen einer Multiscreen-Anwendung mit MT behandelt. D, einschließlich der Verwendung von Elementen DialogViewController
und Abschnitten zum Erstellen von Bildschirmen. Darüber hinaus wurde gezeigt, wie MT verwendet wird. D in Verbindung mit einem UINavigationController
.