watchOS 2: The Power of Animasjoner
43
Del
8
Del
Dette Cyber mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.
Det nye operativsystemet til Apple Watch, watchOS 2, ble introdusert for et par uker siden på WWDC 2015. Det bringer en rekke forbedringer, hovedsakelig for utviklere som ønsker å lage en Apple Watch app. Dette er de tingene som jeg synes å være viktigst for utviklere:
WatchKit apps kjører nå smertefritt på klokken. Dette bringer sårt tiltrengt forbedring i hastighet, noe som resulterer i en bedre brukeropplevelse.
watchOS 2 også innført animasjoner. På watchOS en, det eneste alternativet for å utføre en animasjon var å generere en serie med bilder og deretter iterere gjennom dem. watchOS to bringer sanne animasjoner til Apple Watch. Du kan animere brukergrensesnittet ved å endre layout egenskaper inne en animasjon blokk. Det er der denne opplæringen kommer i.
1. Hvorfor Care Om Animasjoner?
Før vi kommer til muttere og bolter, vil jeg gjerne bruke et minutt å snakke om hensikten med animasjoner på Apple Watch apps.
Den åpenbare grunnen er at de gjør brukergrensesnittet morsommere hvis det brukes på riktig måte. Og når det kommer til Apple Watch, som er en stor hvis Den andre, og jeg tror mer viktig grunn, er at de tillater for tilpassede navigasjons hierarkier inne Apple Watch apps. La oss anta at du trenger å presentere en skjerm som brukeren kan bare la ved å ta en bestemt handling. Normalt Apple Watch apps alltid ha en avbryt-knapp øverst i venstre hjørne når en modal grensesnitt kontrolleren er presentert. Med animasjoner og smart layout manipulasjon, kan du lage din egen "tilstede view controller" rutine som viser appens innhold fullskjerm, avviser det ved at konkrete tiltak. Det er en av de tingene du vil lære i denne opplæringen. Før du fordype deg i denne opplæringen, bør du ha en grunnleggende kunnskap om hvordan oppsettet systemet fungerer på WatchKit. Selv om du er en erfaren iOS-utvikler, er gruppebasert layout i WatchKit veldig annerledes enn hva du er vant til på iOS. Du trenger å tenke på oppsettet på en helt annen måte. Men når du blir vant til det, vil du være i stand til å lage de fleste oppsett uten store anstrengelser. Hvis du er ny layout på WatchKit, det er en flott tutorial på Tuts + av min venn Patrick Balestra, Forstå WatchKit Layout system. Ved hjelp av et eksempel app, forklarer han alt du trenger å vite for å få fart på karrieren. Dessuten er det mange WWDC økter som berøres på dette temaet. Økten som jeg anbefaler mest og som dekker WatchKit animasjoner er denne tittelen oppsett og animasjonsteknikker for WatchKit. Prinsippet om animasjoner på watchOS 2 er enkel, sette deg ett eller flere av de animatable eiendommer innenfor en animasjon blokk. Følgende eksempel illustrerer hvordan dette fungerer product: [selv animateWithDuration: 0,5 animasjoner: ^ {[self.circleGroup setHorizontalAlignment: WKInterfaceObjectHorizontalAlignmentRight];}];. Denne metoden fører til at circleGroup å bli justert til høyre, med en animasjon med en varighet på 0,5 sekunder. Som du kan se, er vi ringer animateWithDuration: animasjoner: på selv, noe som er en forekomst av WKInterfaceController. Dette er forskjellig fra iOS hvor animasjonsmetoder er klassemetoder på UIView Listen nedenfor viser hvilke egenskaper er animatable. Husk at det er fortsatt ikke mulig på watchOS to for å lage bruker grensesnittelementer under kjøring. Men siden du kan skjule dem eller satt sin alfa til 0 i dreieboken, dette burde ikke være så stor av et problem. Det var det. Bevæpnet med din kunnskap om WatchKit layout system, er du nå klar til å begynne å jobbe med innfødte animasjoner på watchOS. La oss komme i gang med å lage et utvalg app så jeg kan vise deg et par eksempler på hvordan dette henger sammen. Vi kommer til å lage en enkel watchOS to app som vil innføre et par av disse animasjons konsepter. Det er på ingen måte prøver å gi en komplett oversikt over alle de tingene som er mulig. I stedet viser den grunnleggende ideen, som forhåpentligvis vil gjøre deg i stand til å komme opp med løsninger til det du trenger På den tiden skrivende stund er Xcode 7 fortsatt er i beta. For å opprette en watchOS to app, må du bruke Xcode 7 så det er hva jeg kommer til å bruke Åpne Interface.storyboard i den WatchApp gruppe som vist nedenfor. Legg en gruppe til grensesnittet ved å dra det fra objektbiblioteket til høyre. I attributter Inspektør på høyre, endre layout til Vertikal Hotell og sette høyden til I forhold til Container Legg en annen gruppe til gruppe vi nettopp lagt. I attributter Inspector Legg fire knappene til den andre gruppen. For hver knapp, satt Size å Relativt Container med en verdi på 0,25. Still titlene på knappene for å ←, →, ↑, og ↓. Etter dette trinnet, bør brukergrensesnittet ser slik ut: For å fullføre den første delen av brukergrensesnittet, legge til én gruppe til hovedgruppen og konfigurere den som følger : Følgende skjermbilde viser deg hvordan sirkelen bør konfigureres. Prosjekt navigator Disse handlingene vil flytte den røde sirkelen i en bestemt retning. Og som du ser, vi oppnå det ved innstillinger sin vertikale og /eller horisontale justeringen inne en animasjon blokk Åpne Interface.storyboard Hotell og koble uttakene som vist nedenfor. Det burde gjøre det. Kjør prosjektet, og hvis du har fulgt trinnene ovenfor, bør du være i stand til å flytte den røde sirkelen rundt på skjermen ved hjelp av piltastene. I den andre delen av denne opplæringen, vil vi lage en push animasjon. Siden de fleste av trinnene involvert er like, vil jeg flytte litt raskere denne gangen Åpne InterfaceController.m og opprette et nytt utløp, firstScreenGroup, av type WKInterfaceGroup i klassen forlengelse av InterfaceController klassen Deretter implementere Følgende handlinger i InterfaceController klassen Anmeldelser - (IBAction) pushButtonPressed {[selv animateWithDuration: 0,1 animasjoner: ^ {[self.firstScreenGroup setAlpha:. 0]; }]; [selvtillit animateWithDuration: 0.3 animasjoner: ^ {[self.firstScreenGroup setWidth: 0]; }];} - (IBAction) popButtonPressed {[selv animateWithDuration: 0.3 animasjoner: ^ {[self.firstScreenGroup setRelativeWidth: 1 withAdjustment: 0]; }]; dispatch_after (dispatch_time (DISPATCH_TIME_NOW, (int64_t) (0,2 * NSEC_PER_SEC)), dispatch_get_main_queue () ^ {[selv animateWithDuration: 0,1 animasjoner: ^ {[self.firstScreenGroup setAlpha: 1];}];});} I pushButtonPressed, vi krympe det første skjermbildet gruppe (vi vil lage det i neste trinn) og i popButtonPressed vi utvide denne gruppen på nytt. Vi er også animere alpha av den første skjermen gruppen for å gjøre animasjonen litt mer tiltalende Åpne Interface.storyboard og legge til en ny gruppe til brukergrensesnittet. Sett den gruppen som allerede var der, den ene inneholder Circle og gruppen med knapper, inne som ny gruppe. Sette sitt Layout til horisontal og endre navn på inneholdt gruppen til Første skjermen Deretter legger du til en annen gruppe som vil være på samme nivå som Første skjermbilde Legg til en knapp på Første skjermbilde Det er en ting vi må gjøre, kobler firstScreenGroup uttaket til gruppen vi heter First skjermen Når du bygge og kjøre app, bør du være i stand til å presentere den andre skjermen ved å trykke på knappen med tittelen "Push >" på bunnen. Du kan avvise den andre skjermen ved å trykke på knappen med tittelen "< Pop". Det skal se slik ut: I denne opplæringen, har vi tatt en titt på innfødte animasjoner på watchOS 2. Jeg håper det har gitt deg en smak av hva du kan oppnå med animasjoner på watchOS. Hvis du har spørsmål, kan du legge inn en kommentar nedenfor eller kan kontakte meg på Twitter.
. Siden de fleste app interaksjoner bare vare i noen få sekunder, du egentlig ikke ønsker å gå over med animasjoner.
2. Forutsetninger
3. Grunnleggende
justering Anmeldelser
bredde og høyde
bakgrunnsfarge
farge og fargetone farge
4. Grunn Animasjoner
Trinn 1:. Lag prosjekt
Launch Xcode og velg Fil >.; New > Prosjekt ...
.
med Enkel visning Application
mal og klikk på Neste.
, skriv WatchAnimations. Du kan fjerne merket Inkluder enhet tester
Hotell og Inkluder UI Tester
som vi ikke vil være behov de for denne opplæringen.
< li> Klikk Neste
, velg en plassering for å lagre prosjektet, og klikk Opprett
Trinn 2:. Legg WatchKit Target Anmeldelser
I Xcode, velg Fil > New > . Target ...
Fra listen over maler, velger du WatchKit App
fra watchOS > Søknad
og klikk Neste
å fortsette.
, kan du velge noe du liker. Jeg har kalt meg WatchApp
.
, fordi vi ikke trenger det. Når du klikker Avslutt
, vil WatchKit målet lages.
. Bare merk at du kan endre ordningen til enhver tid øverst til venstre på din Xcode vindu
Trinn 3:. Opprett brukergrensesnittet
.
, setter sin vertikale stilling til Bottom
.
For klarhet, sette navn til Circle ved å endre sitt navn i dokument Outline på venstre
Sett farge til rød
Sett sin størrelse, bredde og høyde, til 40 poeng.
Trinn 4: Legg Animasjoner
, utvide WatchApp Extension
gruppen, og velg InterfaceController.m
. Bytt gjennomføringen av InterfaceController klassen med følgende:
#import "InterfaceController.h"@interface InterfaceController () @ eiendom (nonatomic, svak) IBOutlet WKInterfaceGroup * circleGroup; @ enden @ implementering InterfaceController //Circle Direction buttons- ( IBAction) leftButtonPressed {[selv animateWithDuration: 0,5 animasjoner: ^ {[self.circleGroup setHorizontalAlignment: WKInterfaceObjectHorizontalAlignmentLeft]; }];} - (IBAction) rightButtonPressed {[selv animateWithDuration: 0,5 animasjoner: ^ {[self.circleGroup setHorizontalAlignment: WKInterfaceObjectHorizontalAlignmentRight]; }];} - (IBAction) upButtonPressed {[selv animateWithDuration: 0,5 animasjoner: ^ {[self.circleGroup setVerticalAlignment: WKInterfaceObjectVerticalAlignmentTop]; }];} - (IBAction) downButtonPressed {[selv animateWithDuration: 0,5 animasjoner: ^ {[self.circleGroup setVerticalAlignment: WKInterfaceObjectVerticalAlignmentBottom]; }];} @ slutten
Trinn 5:. Koble Outlets
5. Mer komplekse animasjoner
Trinn 1:. Opprett Animasjon
interface InterfaceController () @ eiendom (nonatomic, svak) IBOutlet WKInterfaceGroup * circleGroup;.property (nonatomic, svak) IBOutlet WKInterfaceGroup * firstScreenGroup;end
Trinn 2:. Forleng brukergrensesnitt
. Dette vil komme godt med senere. Resultatet skal se slik ut:
gruppe. Sette sitt Layout til Vertikal
. Legg et bilde og en knapp til gruppen. Du kan legge til bokstavelig talt et bilde, bare sørg for at du legger noe der fordi ellers animasjonen ville se noe tørr. Still tittelen på knappen for å "< Pop". Koble knappen til popButtonPressed handlingen vi opprettet tidligere. Brukergrensesnittet skal nå se slik ut:
gruppe. Satt sin tittel til "Push >" og vertikal posisjon til Bottom
. Koble på knappen til pushButtonPressed handling. Brukergrensesnittet skal nå se slik ut:.
Trinn 3: Bygg og Kjør
Konklusjon