Categories
Programmierung

Eine App-interne Statusleiste für Xamarin.iOS und MvvmCross

Für eine iPad-App für unseren Kunden Smart Enterprise Solutions brauchten wir die Möglichkeit, dem Anwender mehrere Nachrichten anzuzeigen. Diese Nachrichten waren hauptsächlich Rückmeldungen der Business-Logik-Schicht, die mit dem Backend kommuniziert. Die Nachrichten sollten innerhalb der App sichtbar sein. The messages should be visible inside the app. Einige der Nachrichten sollten vom Anwender bestätigt werden müssen während andere nach einer bestimmten Zeit wieder verschwinden sollten.

Die finale Statusleiste sieht so aus:

StatusBar

Der Code hierzu ist unter https://github.com/lothrop/StatusBar.iOS frei zugänglich.

Die Statusleiste heißt StatusView. Um die StatusView zu verwenden, sollte man sie mit Hilfe von Auto Layouts an den linken, rechten und unteren Rand andocken. StatusView wird durch das ViewModel MessageViewModel mit Daten befüllt. MessageViewModel beinhaltet eine ObservableCollection<IMessageItem>. Man kann MessageItems an jeder der Stelle der Collection hinzufügen oder entfernen oder auch innerhalb der Collection verschieben.

Ein Anwendungsbeispiel steht in der Datei MainViewController.cs.

Vielen Dank an Smart Enterprise Solutions, die mir erlaubt haben, diese Code zu veröffentlichen.