#import "Fraction.h" #import <stdio.h> @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator: d]; } return self; -(void) print { printf( "%i/%i", numerator, denominator ); } -(void) setnumerator: (int) n { numerator = n; } -(void) setdenominator: (int) d { denominator = d; } -(void) setnumerator: (int) n anddenominator: (int) d { numerator = n; denominator = d; Programowanie dla iphone projektowanie interfejsu użytkownika Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) Wykład 3
Składniki dobrej aplikacji Wspaniała Innowacyjna Zoptymalizowana Łącząca Dostępna Zlokalizowana Zaprojektowana 2
Wspaniała Dobre pierwsze wrażenie Intuicyjna (praca z nią powinna być oczywista) Wciągająca Umożliwia robienie rzeczy, które dotychczas nie były możliwe Ekscytująca 3
Innowacyjna 4
Innowacyjna 5
Zoptymalizowana Wysoka jakość Wysoka wydajność Zintegrowana z funkcjonalnością telefonu. Specyficzna dla IOS??? 6
Łącząca iphone + ipad + imac Uzupełniające się części Synchronizująca się zawartość. 7
Dostępna Każdy może tego użyć Dla osób upośledzonych 1 na 5 użytkowników. Wprowadzona do frameworków IOS 8
Zlokalizowana Dostępna w różnych językach 9
Dobrze zaprojektowana Jak wygląda? Jak działa? Niech działa jak magia. Niech ipad będzie notatnikiem albo mapą. 10
11
Wymagania Mac Xcode Urządzenie IOS do testowania. 12
XCode 13
XCode Tworzenie aplikacji Projektowanie Interfejsu użytkownika Testowanie Optymalizacja Publikowanie w AppStore. 14
Deployment target Starać się używać najnowszych (aktualna i poprzednia) 15
Kompilator Kiedyś GCC Aktualnie LLVM Szybki (2xgcc) Lepsza optymalizacja kodu ARC Inne nowe możliwości języka 16
Storyboarding Nawigacja i ekrany aplikacji powinny być określone na początku Każdy widok powinien być samowystarczalny. Domyślnie zdefiniowany jest jeden widok początkowy. 17
Xcode pierwsza aplikacja 18
Okno główne 19
Gdzie startuje aplikacja? Funkcja main w main.m UIApplicationMain @autoreleasepool 20
Tworzenie Interfejsu Użytkownika 21
Kontrolki UI Navigation Bar Toolbar Tab Bar Image View Map View Table View Buttons Alerts 22
Kontrolki UI Text Field Search Bar Scope Bar Segmented Control RefreshControll Slider Stepper Switch 23
Outlets Połączenie między kontrolerem widoku (ViewController) a elementami UI. W zasadzie: połączenie między dwoma obiektami. 24
Projekt aplikacji Papierowy prototyp Widok aplikacji zamienić to wszystko na aplikację 25
UIKit Jak zaprojektować aplikację Żeby zaoszczędzić czas Żeby jak najlepiej spożytkować kod. 26
View Controller View Controller // Blok budujący aplikację. View prezentacja danych dla aplikacji Całość aplikacji to hierarchia widoków. View Controller nie powinien być zależny od innych widoków. 27
View Cotrollers System elementy SDK Content tworzone samodzielnie Containers - Widoki i przepływ aplikacji. 28
System Controlers Okienko Twiettera Wybór obrazu Tworzenie wiadomości e-mail 29
Content controllers Tabela Widok specyficzny dla aplikacji 30
Container controllers Pasek przycisków Split View (master detail) Przejścia między controlerami. IOS>5 31
Container Master Detail (Split View Controller) 32
Split View Controller Root View Controller Navigation View Controller Detail View Controller 33
Container Controller Podklasa UIViewController Dodawanie view Controllers Container to view controller Automatyczne przekazywanie wywołań metod (typu widok został załadowany itp.) 34
Przykład 35
Architektura Container view controller Enkapsulacja dzieci Uważać na hierarchię kontrolerów Nie tworzyć cykli przejść 36
Dobrze zaprojektowany widok 37
Zakończenie KONIEC 38