3.9 Grundelemente einer Benutzeroberfläche



Ähnliche Dokumente
Schulung Marketing Engine Thema : Einrichtung der App

Praktikum ios-entwicklung im Sommersemester 2015 Übungsblatt 3

Schulung Marketing Engine Thema : Einrichtung der App

How to do? Projekte - Zeiterfassung

Bauteilattribute als Sachdaten anzeigen

Local Control Network Technische Dokumentation

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

FritzCall.CoCPit Schnelleinrichtung

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Step by Step Webserver unter Windows Server von Christian Bartl

Anleitung für das Content Management System

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

SICHERN DER FAVORITEN

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

ZIMT-Dokumentation für Studierende Webmail-Oberfläche (Roundcube)

IAWWeb PDFManager. - Kurzanleitung -

ways2gether ipad App Guide

tentoinfinity Apps 1.0 EINFÜHRUNG

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

OSF Integrator für Btracking und Salesforce Anleitung für die Nutzer

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Modul Windows XP Professional

Der Kalender im ipad

Hilfe zur Urlaubsplanung und Zeiterfassung

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Das Modul Hilfsmittel ermöglicht den Anwender die Verwaltung der internen Nachrichten, Notizen, Kontakte, Aufgaben und Termine.

Aufklappelemente anlegen

Anleitung Lernobjekt-Depot (LOD)

Qt-Projekte mit Visual Studio 2005

WLAN Konfiguration. Michael Bukreus Seite 1

Primzahlen und RSA-Verschlüsselung

Benutzerkonto unter Windows 2000

MPDS4 EXAMPLE DATENBANK

Vergleich: Positionen der Word 2003-Befehle in Word

1 Mathematische Grundlagen

1 topologisches Sortieren

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. 7 Key Features.

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender FHNW, Services, ICT

Professionelle Seminare im Bereich MS-Office

Grundfunktionen und Bedienung

Import des persönlichen Zertifikats in Outlook 2003

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

RIGGTEK. Dissolution Test Systems. DissoPrep Browser-Interface

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

ANLEITUNG GERÄTEREGISTRATION AN KRZ.SMK IOS

Aufruf der Weboberflache des HPM- Warmepumpenmanagers aus dem Internet TIPPS

5.2 Neue Projekte erstellen

Der große VideoClip- Wettbewerb von Media Markt.

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Outlook Web App 2010 Kurzanleitung

Computeria Solothurn

DFBnet Spielbericht online Spielberechtigungslisten erstellen

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Gilden-Design - Fragebogen

Partitionieren in Vista und Windows 7/8

Kurzanweisung für Google Analytics

Nützliche Tipps für Einsteiger

Smart Home. Quickstart User Guide

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Stapelverarbeitung Teil 1

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

MSI TECHNOLOGY. RaidXpert AMD. Anleitung zur Installation und Konfiguration MSI

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Typo3 - Inhalte. 1. Gestaltung des Inhaltsbereichs. 2. Seitenunterteilung einfügen

Module Entwicklung. Um diese Eigenschaft aufzurufen, starten Sie die Adami Vista CRM Applikation und wählen Sie den Entwicklung Menü.

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl.

Datensicherung. Beschreibung der Datensicherung

Einleitung: Frontend Backend

Windows 7 Winbuilder USB Stick

Treckerverein Monschauer Land e.v.

Professionelle Seminare im Bereich MS-Office

1. Einführung. 2. Weitere Konten anlegen

OUTLOOK-DATEN SICHERN

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Webalizer HOWTO. Stand:

Office-Programme starten und beenden

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Teamlike Administratorenhandbuch

POP -Konto auf iphone mit ios 6 einrichten

Pfötchenhoffung e.v. Tier Manager

Eigenen Farbverlauf erstellen

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

32.4 Anpassen von Menüs und Symbolleisten 795i

Datensicherung und Wiederherstellung

Updatehinweise für die Version forma 5.5.5

iphone- und ipad-praxis: Kalender optimal synchronisieren

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Outlook Erstellen einer aus einer HTML - Vorlage INHALT

Favoriten sichern. Sichern der eigenen Favoriten aus dem Webbrowser. zur Verfügung gestellt durch: ZID Dezentrale Systeme.

zwanzignull8 DIE MODULARE VERTRIEBS SOFTWARE im Einsatz für die Sto SE & Co KGaA info@1a-p.com (0)

Anleitung Typo3-Extension - Raumbuchungssystem

WordPress. Dokumentation

Wie richten Sie Ihr Web Paket bei Netpage24 ein

IINFO Storyboard

Transkript:

92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion (z.b. Öffnen einer bestimmten Webseite) ausgeführt werden soll. Das heißt, auch hier muss eine Kommunikation zwischen Objekten stattfinden. Die bisher gezeigten Möglichkeiten sind dafür nicht unbedingt geeignet. Der empfohlene Weg in Cocoa ist der sogenannte Target-Action-Mechanismus. Das Ziel (Target) ist in diesem Zusammenhang der Empfänger der Nachricht (die Action). Dieses Ziel ist als Outlet im Oberflächenelement gespeichert. Die Nachricht wird vom Element zum Target gesendet. Actions können dabei unterschiedliche Signaturen haben. Auch hier werden Sie häufig mit dem Interface Builder arbeiten, und somit gibt es auch hierfür eine Markierung, nämlich IBAction. Der Rückgabewert wird programmatisch ermittelt. Nachfolgend ist die beispielhafte Definition einer Action aus dem Beispielprojekt sample-ui angegeben: - (IBAction)click:(id)sender; Der Vollständigkeit halber soll auch die ausimplementierte Action gezeigt werden: - (IBAction)click:(id)sender { [label settext:[textfield text]]; } Wie Sie am obigen Beispiel sehen, erfolgt der Zugriff auf die einzelnen Oberflächenelemente über die in der Header-Datei definierten Outlets. 3.9 Grundelemente einer Benutzeroberfläche Die Interaktion mit einer App geschieht über deren Benutzeroberfläche. Auf dieser Benutzeroberfläche werden Informationen in unterschiedlichen Ansichten (Views genannt) dargestellt, Apps mit wenigen Informationen kommen auch mit einer Ansicht aus. Abhängig vom Status der App müssen gewisse Informationen sichtbar werden und andere sollen für den Benutzer unsichtbar sein. Die Basismechanismen für die Darstellung der unterschiedlichen Informationen in unterschiedlichen Ansichten werden von View Controllern zur Verfügung gestellt. Für das weitere Verständnis sollen drei wichtige Klassen, im Zusammenhang mit Benutzeroberflächen für das ios, kurz erläutert werden: 71. First In, First Out d.h., die erste Nachricht, die an das Notification Center gesendet wird, wird auch zuerst abgearbeitet.

3.9 Grundelemente einer Benutzeroberfläche 93 UIScreen UIWindow UIView Die Klasse UIScreen repräsentiert den physikalischen Bildschirm des Gerätes, auf dem die App läuft. Die Klasse UIWindow stellt Basisfunktionen für die Darstellung auf dem Bildschirm bereit. Die eigentliche Darstellung übernimmt die Klasse UIView. 3.9.1 Window oder View Bei der Erstellung einer Oberfläche für das ios werden Sie sehr schnell mit den schon erwähnten Begriffen Window und View in Berührung kommen. Diese Begriffe sind nicht nur dem ios zu eigen, sondern finden sich in allen Frameworks zur Oberflächenerstellung wieder, wo sie allerdings häufig mit unterschiedlichen Bedeutungen behaftet sind. Sowohl Windows als auch Views sind die visuellen Komponenten zur Gestaltung der Oberfläche. Eine erste Trennlinie zwischen Window und View kann man dadurch ziehen, dass ein Window eher für die Bereitstellung der grafischen Plattform verantwortlich ist und eine View für das Zeichnen der Elemente. Ein Window könnte man somit im weitesten Sinne als das Backend unter den Oberflächenelementen bezeichnen. 3.9.2 Window Eine Anwendung für das ios hat typischerweise nur ein Window vom Typ UIWindow. Zum Startzeitpunkt wird diese Instanz erzeugt (sie kann auch aus der Oberflächendefinitionsdatei stammen) und eine oder mehrere Views werden zu dieser Instanz hinzugefügt. Ein Window im ios hat keine besonderen Oberflächenmerkmale wie z.b. eine Titelzeile. Das ios verwendet dieses Window auch für die Übergabe der Events an die Anwendung. Ein interessantes Detail ist, dass UIWindow sich von der Klasse UIView ableitet und somit eigentlich auch eine View ist. Verwenden Sie nicht mehr als ein UIWindow Es ist zwar möglich, mehrere Elemente vom Typ UIWindow übereinander zu lagern (Layer), aber es empfiehlt sich doch, dafür die Views aus dem UIKit zu verwenden. Das System selbst verwendet zwar UIWindow noch für Elemente wie die Systemstatusleiste oder wichtige Meldungen. Sie sollten aber trotzdem auf die angebotenen Views des UIKit zurückgreifen.

94 3 Grundlagen einer ios-anwendung 3.9.3 View Eine View innerhalb von ios ist vom Typ UIView. Views sind zum einen wichtig für die Darstellung der einzelnen Oberflächenelemente, zum anderen aber auch für die Reaktion auf die Benutzereingaben. Neben diesen beiden wichtigen Funktionen kann eine View darüber hinaus noch weitere Views enthalten, sogenannte Subviews. Eine Subview ist dann lediglich eine View, die in einer anderen View (genannt Parent View oder Superview) eingebettet ist. Hierdurch entsteht die bereits erwähnte View-Hierarchie (siehe auch Abschnitt 3.5.3). Beim Anordnen der Elemente ist darauf zu achten, dass jede Subview über der eigentlichen Parent View platziert wird. Da Views das hauptsächliche Element zur Interaktion mit der Anwendung sind, fallen einer View folgende Aufgaben zu: Darstellung (Zeichnen der Elemente) und Animation Layout (Positionierung) und Management der Subviews Behandlung der Events (Aufnahme und Weiterleitung) 3.9.4 View Controller Wie zuvor schon bei der Beschreibung des MVC-Patterns erwähnt, existiert auch das Prinzip des View Controller, sozusagen ein Controller, der auch View-Aufgaben übernimmt. Eine größere Anwendung wird häufig in mehrere Masken (in der Dokumentation auch als screens bezeichnet) aufgeteilt. Jede einzelne dieser Masken besteht wiederum aus einem Satz von View-Objekten zur Darstellung der Daten. Die Views für eine einzelne Maske werden von einem View Controller gehalten. In dessen Verantwortung liegt es, die Daten für die Views bereitzustellen und die Views für die Maske im Bedarfsfall zu aktualisieren. Grundsätzlich können View Controller in flogende zwei Kategorien aufgeteilt werden: Content View Controller Container View Controller

3.9 Grundelemente einer Benutzeroberfläche 95 Die Aufgabe eines Content View Controller (siehe Abb. 3 13) ist die Darstellung von Oberflächenelementen mithilfe von Views. Diese Views können in Gruppen aufgeteilt sein. Content View Controller Abb. 3 13 Schematische Darstellung eines Content View Controller Ein Container View Controller enthält andere View Controller und verwaltet diese. Damit entsteht eine View-Controller-Hierachie (siehe Abb. 3 14). Container View Controller Abb. 3 14 Schematische Darstellung eines Container View Controller Die Basisklasse für einen View Controller ist UIViewController. Zusätzlich zu dieser Klasse existieren weitere Unterklassen für View Controller, die wichtigsten davon sind: UINavigationController UIPageViewController UISplitViewController UIPopoverController UITabBarController UITableViewController Da diese Klassen häufig zum Einsatz kommen, soll deren Bedeutung und Einsatzzweck kurz beschrieben werden. Die Klasse UIViewController ist die Basisklasse für alle eingesetzten View Controller. Eigene View Controller sollten auch von dieser Klasse oder einer Unterklasse davon ableiten. UIViewController

96 3 Grundlagen einer ios-anwendung UINavigationController Die Klasse UINavigationController repräsentiert einen Navigation Controller. Solch ein Controller organisiert hierarchisch strukturierte Daten. Ein Beispiel hierfür ist das Adressbuch (siehe Abb. 3 15). Die erste View zeigt eine Liste von Kontakten an. Hier kann wiederum ein Kontakt ausgewählt werden. Diese zwei Views werden von einem Navigation Controller verwaltet. In diesem Fall ist der Navigation Controller ein Container View Controller, der drei Content View Controller verwaltet. Abb. 3 15 Navigation Controller beim Adressbuch UIPageViewController UISplitViewController UIPopoverController UITabBarController Die Klasse UIPageViewController repräsentiert einen Page View Controller. Dieser View Controller fällt unter die Klasse der Container View Controller. Das Umschalten zwischen den Seiten ist dem Umblättern einer Buchseite nachempfunden. Jede Seite ist dabei als Content View Controller realisiert. Der Page View Controller ist für die Steuerung der Übergänge zwischen den einzelnen Seiten verantwortlich. Die Klasse UISplitViewController repräsentiert einen Split View Controller. Eine Split View teilt den vorhandenen Bildschirm in zwei Teile auf. Diese Ansicht kommt häufig bei Master-Detail-Ansichten zum Einsatz. Die beiden Views werden durch zwei View Controller dargestellt. Der Split View Controller steht nur für das ipad zur Verfügung. Die Klasse UIPopoverController repräsentiert einen Popover Controller. Wenn eine Split View im Hochformat (Portrait-Modus) angezeigt wird, werden die beiden Views nicht nebeneinander abgebildet, sondern die linke View wird als Popover angezeigt. Dies ist eine überlagerte View. Die Klasse UITabBarController repräsentiert einen Tab Bar Controller. Hierbei handelt es sich um einen Container View Controller mit

3.10 Game Center 97 dessen Hilfe die App in mehrere Bereiche aufgeteilt wird. Der Ansprung erfolgt über die Tabs der Tab Bar. Die Klasse UITableViewController repräsentiert einen Table View Controller. Dieser View Controller kontrolliert eine View mit einer Tabelle. Einen tieferen Einstieg in die Thematik View Controller bietet auch der View Controller Programming Guide for ios 72. UITableViewController Zugänglichkeit ein wichtiges Thema Ein sehr wichtiges Thema ist die Zugänglichkeit/Barrierefreiheit von Anwendungen. Hier bietet das ios ebenfalls Unterstützung an: Neben Funktionen wie Zoom, Mono Audio und Voice Control (Steuerung der Funktionen per Stimmeingabe) kam mit dem iphone OS 3.0 auch ein Screenreader mit dem Namen VoiceOver hinzu. Weitergehende Informationen dazu können Sie dem Accessibility Programming Guide for ios entnehmen (http://developer.apple.com/library/ ios/#documentation/userexperience/conceptual/iphoneaccessibility/introduction/introduction.html). 3.10 Game Center Entwickler kennen das Game Center bereits aus ios 4, wo sie es in einer Betavariante verwenden konnten. Mit dem ios 4.1 wurde das Game Center für die Allgemeinheit offengelegt, d.h., seither gibt es für Benutzer eine eigene App, die Game Center App, die auch ein eigenes Icon auf dem Homescreen besitzt. Außerdem steht die Game Center App im iphone Simulator zur Verfügung (Abb. 3 16). Abb. 3 16 Das Icon der Game Center App im iphone Simulator Das Game Center stellt eine Erweiterung für das Game Kit Framework dar und bietet zusätzliche Funktionen für Spieleprogrammierer, die wir uns im Folgenden anschauen. Drei voneinander unabhängige Basisdienste stellen das Fundament des Game Center dar: Ein zentraler Netzwerkdienst bietet Funktionen, die von anderen Spielen genutzt werden können. Über Peer-to-Peer können Geräte über Bluetooth oder ein lokales WLAN als Ad-hoc- Basisdienste 72. https://developer.apple.com/library/ios/#featuredarticles/viewcontrollerpgforiphoneos