|
iPad-Programmierung |
2 |
|
|
Inhaltsverzeichnis |
6 |
|
|
Kapitel 1 - Vom iPhone zum iPad |
10 |
|
|
1.1 Das iPad und der Laptop |
11 |
|
|
1.2 Das iPad und der iPod touch |
12 |
|
|
1.3 Erste Schritte |
15 |
|
|
1.4 Ein Modell-Objekt ergänzen |
17 |
|
|
1.5 Das C in MVC |
19 |
|
|
1.6 Der Detail-View und sein Controller |
20 |
|
|
1.7 Die Table-Delegate-Methode implementieren |
22 |
|
|
1.8 Kompatibilitätsmodus |
23 |
|
|
1.9 Umwandlung in eine Universal-App |
24 |
|
|
1.10 Ein paar Striche ergänzen |
27 |
|
|
Separate Symbole |
28 |
|
|
Splash-Screens |
29 |
|
|
Mehrere Orientierungen beim Start |
30 |
|
|
1.11 Zusammenfassung |
30 |
|
|
Kapitel 2 - Split-Views |
34 |
|
|
2.1 Den Split-View-Controller im IB einführen |
36 |
|
|
2.2 Mit dem Split-View-Controller interagieren |
38 |
|
|
2.3 Zwischen den View-Controllern kommunizieren |
41 |
|
|
2.4 Unterschiedliche Geräte mit Unterklassen berücksichtigen |
42 |
|
|
2.5 Die App-Delegates trennen |
45 |
|
|
2.6 Dem Detail-View eine Werkzeugleiste hinzufügen |
48 |
|
|
2.7 Das Split-View-Delegate |
49 |
|
|
2.8 Ein Popover einfügen |
51 |
|
|
2.9 Popover und Button entfernen |
53 |
|
|
2.10 Eine iPad-spezifische, Split-View-basierte App erstellen |
54 |
|
|
2.11 Zusammenfassung |
56 |
|
|
Kapitel 3 - Gesten nutzen |
58 |
|
|
3.1 iPad Virtual Bubble Wrap |
59 |
|
|
3.2 Einfache Tap-Gesten nutzen |
60 |
|
|
Die Geste instantiieren |
61 |
|
|
Die Geste an einen View binden |
62 |
|
|
Die Geste aufgreifen |
62 |
|
|
Einige Luftbläschen schaffen |
63 |
|
|
3.3 Multi-Touch-Events und die View-Hierarchie |
64 |
|
|
Das Platzen implementieren |
65 |
|
|
Die Luftpolsterfolie testen |
67 |
|
|
3.4 UIGestureRecognizer und die Swipe-Geste |
67 |
|
|
Eine Swipe-Geste erkennen |
67 |
|
|
Die Luftpolsterfolie leeren |
68 |
|
|
Mehrere Finger einsetzen |
70 |
|
|
3.5 Diskrete und kontinuierliche Gesten |
70 |
|
|
Die Bläschengröße mit einer Pinch-Geste ändern |
71 |
|
|
Das Spreizen testen |
73 |
|
|
3.6 Eigene Gesten erstellen |
74 |
|
|
Wie Gesten-Recognizer tatsächlich funktionieren |
74 |
|
|
Eine Löschen-Geste erstellen |
76 |
|
|
UIGestureRecognizer erweitern |
77 |
|
|
Den DeleteGestureRecognizer implementieren |
78 |
|
|
Die eigene Geste installieren |
82 |
|
|
Den Löschen-Recognizer vertiefen |
84 |
|
|
3.7 Was hat denn da geknallt? |
84 |
|
|
3.8 Recognizer-Konflikt |
86 |
|
|
3.9 Zusammenfassung |
89 |
|
|
Kapitel 4 - Popover und modale Dialoge |
90 |
|
|
4.1 Auf Berührung reagieren |
91 |
|
|
4.2 Den Controller für die Farben erstellen |
93 |
|
|
4.3 Modale Views einblenden |
94 |
|
|
4.4 Den Controller bereinigen |
97 |
|
|
4.5 Ein Popover anzeigen |
98 |
|
|
4.6 Ein erneuter Blick auf Split-View und Popover |
101 |
|
|
4.7 Popover für Buttons |
102 |
|
|
4.8 Die Ausrichtung ändern |
106 |
|
|
4.9 Zusammenfassung |
109 |
|
|
Kapitel 5 - Angepasste Tastaturen |
110 |
|
|
5.1 Einfache Texteingabe |
111 |
|
|
5.2 Angepasste Tastaturen erstellen |
113 |
|
|
5.3 Auf die Tasten reagieren |
114 |
|
|
5.4 Einen Accessory-View hinzufügen |
116 |
|
|
5.5 Tastaturbenachrichtigungen nutzen |
118 |
|
|
5.6 Den Text-View animieren |
119 |
|
|
5.7 Zusammenfassung |
122 |
|
|
Kapitel 6 - Zeichnen |
124 |
|
|
6.1 Zeichnen mit Core Graphics |
125 |
|
|
Den Dreieckspfad erstellen |
127 |
|
|
Den Pfad verschieben |
127 |
|
|
Strich und Füllung |
128 |
|
|
6.2 Die Cocoa-APIs nutzen |
129 |
|
|
Den Dreieckspfad erstellen |
130 |
|
|
Den Pfad verschieben |
130 |
|
|
Strich und Füllung |
131 |
|
|
6.3 Kreise und Rechtecke zeichnen |
132 |
|
|
6.4 Unregelmäßige Pfade |
134 |
|
|
6.5 Bézierkurven nutzen |
136 |
|
|
6.6 Unsere Zeichnung als PDF speichern |
138 |
|
|
6.7 Zusammenfassung |
141 |
|
|
Kapitel 7 - Der Movie Player |
142 |
|
|
7.1 Einen View für Videos einrichten |
142 |
|
|
Der MPMoviePlayerController |
144 |
|
|
Das große Ganze oder was gerade geschah |
148 |
|
|
7.2 Einblick in den Player |
148 |
|
|
7.3 Benachrichtigt werden |
151 |
|
|
Notifikationen von unten |
153 |
|
|
7.4 Eine Wiedergabeliste hinzufügen |
154 |
|
|
7.5 Thumbnails erstellen |
159 |
|
|
Einen View für die Thumbnails einrichten |
160 |
|
|
Den Thumbnail-Code schreiben |
162 |
|
|
Die Thumbnails verarbeiten |
163 |
|
|
7.6 Vorschau |
166 |
|
|
Kapitel 8 - Der Movie Player, Phase 2 |
168 |
|
|
8.1 Video-Shoutouts |
168 |
|
|
8.2 Eigene Wiedergabesteuerung |
172 |
|
|
Den View erstellen |
174 |
|
|
Den Controller erstellen |
176 |
|
|
8.3 Die Steuerelemente implementieren |
178 |
|
|
8.4 Die Wiedergabezeit verwalten |
179 |
|
|
8.5 Eine Videonavigation implementieren |
182 |
|
|
8.6 Die Wiedergabesteuerung dynamisch machen |
187 |
|
|
Bonusaufgabe: Ein kleines Detail |
190 |
|
|
8.7 Der Vollbildmodus |
190 |
|
|
8.8 Zusammenfassung |
192 |
|
|
Kapitel 9 - Apples HTTP-Live- Streaming |
194 |
|
|
9.1 Progressives Video vs. Streamed-Video |
194 |
|
|
9.2 Apples HTTP-basiertes Streaming-Protokoll |
195 |
|
|
Wie HTTP-Live-Streaming funktioniert |
195 |
|
|
Videos segmentieren |
196 |
|
|
Die weiteren Schritt mit HLS |
198 |
|
|
9.3 Einen Streaming-Player erstellen |
199 |
|
|
9.4 Auf die Netzwerkumgebung reagieren |
200 |
|
|
9.5 Zusammenfassung |
202 |
|
|
Kapitel 10 - Externe Anzeigegeräte nutzen |
204 |
|
|
10.1 Ein externes Anzeigegerät erkennen |
205 |
|
|
10.2 Einfache Ausgabe auf ein externes Display |
209 |
|
|
Dem externen Bildschirm Views hinzufügen |
211 |
|
|
10.3 Videoinhalte auf den externen Bildschirm schicken |
213 |
|
|
10.4 Zusammenfassung |
216 |
|
|
Kapitel 11 - Geräte verbinden |
218 |
|
|
11.1 Das Monty Hall-Problem |
219 |
|
|
11.2 Den Server starten und bekannt machen |
220 |
|
|
11.3 Den Client starten und verbinden |
222 |
|
|
11.4 Die Spiellogik ergänzen |
224 |
|
|
11.5 Daten an ein anderes Gerät senden |
226 |
|
|
11.6 Von einem anderen Gerät gesendete Daten empfangen |
227 |
|
|
11.7 Aufräumen |
229 |
|
|
11.8 Peers bekannt machen |
229 |
|
|
11.9 Peers verbinden |
231 |
|
|
11.10 Chatten |
232 |
|
|
11.11 Zusammenfassung |
234 |
|
|
Kapitel 12 - Mit Dokumenten arbeiten |
236 |
|
|
12.1 Dokumente mit iTunes übertragen |
237 |
|
|
12.2 Dokumente dauerhaft speichern |
238 |
|
|
12.3 Dateitypen registrieren |
240 |
|
|
12.4 Eine Datei beim Start öffnen |
242 |
|
|
12.5 Dateien öffnen |
243 |
|
|
12.6 Dateivorschau |
246 |
|
|
12.7 Zusammenfassung |
247 |
|
|
Kapitel 13 - Die große Zusammenfassung |
248 |
|
|
13.1 Denken Sie immer zuerst an den Benutzer |
249 |
|
|
13.2 Behandeln Sie Landscape- und Portrait-Modus gleichrangig |
249 |
|
|
13.3 Die Hierarchie glätten |
250 |
|
|
13.4 Erstellen Sie detailreiche, realistische Views |
251 |
|
|
13.5 Gesten sind mächtig |
251 |
|
|
13.6 Das iPad will kommunizieren |
251 |
|
|
13.7 Dokumente |
252 |
|
|
13.8 Video ist wichtig |
252 |
|
|
13.9 Externe Anzeigegeräte verlangen eine angepasste Implementierung |
253 |
|
|
13.10 Verbessern Sie die Leistungen Ihrer App mit Video- Streaming |
253 |
|
|
13.11 Danksagungen |
253 |
|
|
Daniel |
254 |
|
|
Eric |
255 |
|
|
Literaturverzeichnis |
256 |
|
|
Index |
258 |
|
|
A |
258 |
|
|
B |
258 |
|
|
C |
259 |
|
|
D |
259 |
|
|
E |
259 |
|
|
F |
260 |
|
|
G |
260 |
|
|
H |
260 |
|
|
I |
260 |
|
|
J |
261 |
|
|
K |
261 |
|
|
L |
261 |
|
|
M |
261 |
|
|
N |
261 |
|
|
O |
262 |
|
|
P |
262 |
|
|
Q |
262 |
|
|
R |
262 |
|
|
S |
263 |
|
|
T |
263 |
|
|
U |
264 |
|
|
V |
264 |
|
|
W |
264 |
|
|
Z |
265 |
|