Forstå WatchKit Layout System

Understanding den WatchKit Layout System
31
Del
5
Del
Dette Cyber ​​mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.

Det nye oppsettet system introdusert av Apple i WatchKit november i fjor er et helt nytt konsept for iOS og OS X utviklere. Det er ikke basert på Auto Layout og det er mye enklere.

I denne opplæringen, vil jeg vise deg de viktigste funksjonene-og begrensninger-av dette nye oppsettet system. Vi vil ikke være å skrive kode, fordi fokus er på å forstå mekanismen av det nye oppsettet system. Til slutt, bør du være i stand til å begynne å bygge applikasjonsgrensesnitt som bruker WatchKit layout system.

1. Hva er så kult om WatchKit?

WatchKit ikke bruke samme layout system som normale iOS applikasjoner. Det er mye smartere og enklere. Du må bruke storyboards til å designe dine grensesnitt i dette tilfellet.

Du har ikke tilgang til de posisjonene dine elementer under kjøring, og du er pålagt å utforme statiske grensesnitt som er inkludert i programmet ditt bunt. Du kan til og med glemme x og y koordinater, grenser og rammer, fordi alt er lagt ut i dreieboken. La oss lage et eksempel app for å hjelpe deg å bedre forstå disse nye konsepter.

2. Lag din første WatchKit App

Trinn 1: Opprett prosjekt

Åpne Xcode 6.2+ og opprette et nytt prosjekt. Velg Enkel visning Application mal til å begynne med. Name it WatchKitLayoutDemo, klikker du Neste, og lagre den et sted på datamaskinen

Trinn 2:. Legg WatchKit Target

Det er på tide å legge den WatchKit målet til prosjektet. Gå til menyen Fil > New > Målrette ... og velg Apple Watch til venstre. Velg WatchKit App og klikk på Neste.

I den følgende skjermen, kan du konfigurere WatchKit målet. Kryssene Inkluder Notification Scene og Inkluder Glance Scene, fordi jeg vil bare fokusere på en enkel WatchKit app i denne opplæringen. Klikk Fullfør for å legge til WatchKit app til prosjektet

Trinn 3:. Utforsk WatchKit Targets

Du kan legge merke til at Xcode lagt til to mål til prosjektet. For å gjøre det lettere for oss, har Xcode opprettet en gruppe for hvert mål, som inneholder kildefilene og eiendeler for hvert mål.

Utvid disse gruppene i prosjektet Navigator til venstre. Den blå gruppe (se nedenfor) inneholder kildefilene og eiendeler i WatchKit utvidelsen, som vil kjøre på iPhone. Apple Watch kjører ikke søknaden din. Den sammenkoblet iPhone gjør de tunge løftene for Apple Watch. Apple Watch bare gjengir brukergrensesnitt og håndterer noen form for brukermedvirkning. Dette konseptet er forklart nærmere i denne Tuts + artikkelen.

Den røde gruppen inneholder eiendelene i WatchKit program, for eksempel dreieboken filen som skal lagres og brukes på Apple Watch. Dette gjøres fordi ressursene vil være dyrt å sende hver gang brukeren åpner en app og vil tappe batteriet mye raskere.

Dette betyr også at app brukergrensesnitt er statisk og kan ikke endres under kjøring . Legge til eller fjerne elementer, for eksempel, er ikke mulig. Du kan vise og skjule brukergrensesnitt-elementer skjønt. Hvis du for eksempel sette den skjulte tilhører en gruppe til JA ved runtime-eller true hvis du elsker SWIFT-, vil gruppen være skjult og de andre elementene i brukergrensesnittet vil automatisk bli omplassert.

I denne opplæringen, vil jeg vise deg den kraftige layout brukes av WatchKit. Du trenger ikke å skrive kode. La oss fokusere på WatchKitLayoutDemo WatchKit App gruppe, som inneholder storyboard-filen.

3. Storyboard

Velg Interface.storyboard fil for å åpne den. Hvis du kommer fra iOS eller OS X verden, bør du være kjent med storyboards. Som jeg tidligere har nevnt, storyboards er den eneste måten å designe WatchKit apps. Auto Layout er fraværende og manipulere rammer er ikke mulig å bruke WatchKit rammeverket.

UIKit sin UIViewController klassen er fraværende i WatchKit. I stedet WatchKit erklærer WKInterfaceController klassen. Du kan se at Xcode allerede lagt et grensesnitt kontrolleren for oss.

WatchKit rammeverket definerer en rekke elementer i brukergrensesnittet som du kan bruke til å lage din app brukergrensesnitt. Dette er en komplett liste over elementer du kan use:


Group

Table

Image

Separator

Button

Switch

Slider

Label

Date

Timer

Map

Menu

Menu Sak

De fleste av disse trenger ikke å forklare, men det er ganske mange nye elementer, som gruppe, separator, dato, tidtaker, og menyen. En av de viktigste elementene er gruppen

Hvis du noen gang brukt HTML og CSS for å lage en nettside, kan du bli kjent med. ≪ div > tag. Du kan tenke på en gruppe som en beholder for andre grensesnittelementer. En gruppe har mange egenskaper som du kan tilpasse direkte i Interface Builder

Trinn 1:. Definer Oppsett av App

Det er viktig å planlegge utformingen i detalj før du starter utvikling. Dette vil spare deg for timer og timer med hodepine hvis, på et tidspunkt, du skjønner at det virkelig kul funksjon du ønsket å bygge ikke er mulig eller ikke ser bra ut på en fysisk enhet. Sørg for at du har lest Apple Watch Human Interface Guidelines.

For dette eksempelet jeg kommer til å lære hvordan du kan lage et oppsett for et hotell app der du kan finne et hotell i nærheten av din nåværende posisjon. Jeg designe skjermen som vil vise detaljene for et bestemt hotell. Som jeg nevnte i innledningen, vil jeg ikke skrive noen kode. I stedet vil jeg fokusere på å forstå mekanismen av det nye oppsettet system.

Leaving ut mine tegneferdigheter, dette er hva jeg har i tankene for min layout. Navnet på hotellet vil være på toppen av skjermen, og under det vil være noen stjerne ikoner som viser hotellets vurdering. Jeg deretter ønsker å legge til et bilde sammen med sin adresse og to knapper

Trinn 2:. Legge til en gruppe

Vår interface controller er tom for øyeblikket, og det er ingen base gruppe. For å legge til nye elementer, dra og slippe dem fra objektbiblioteket til høyre inn i Interface Controller. The Scene Navigator til venstre er nyttig å sjekke om elementene er riktig plassert. Det første du må gjøre er å legge til en gruppe, som vil tillate oss å rulle vertikalt hvis innholdet ikke får plass på skjermen. Dra en gruppe fra objektbiblioteket og slippe den inn i Interface Controller som vist nedenfor.

Nå som du har en gruppe i ditt grensesnitt kontrolleren, kan du se sine attributter i attributter Inspektør på høyre . La oss se på noen av dem i mer detalj

Layout:. Oppsettet bestemmer om konsernets elementer er lagt ut horisontalt eller vertikalt. Når du legger til et element, vil det bli plassert ved siden av eller under den forrige

innfellinger:.. Dette attributtet bestemmer øverst, nederst, venstre og høyre innfelt for gruppen

Avstand:. Som navnet tilsier, bestemmer det avstanden mellom elementene i gruppen

Bakgrunn:. Du kan angi et bilde som bakgrunn av gruppen og animere det ved å navngi bildene sekvensielt
< li> Posisjons. Posisjonen attributtet bestemmer horisontal (venstre, senter, høyre) og vertikal (øverst, i midten, nederst) stillingen til konsernet

Størrelse: Størrelsen attributtet bestemmer bredden og høyden av element . Det er tre verdier, størrelse for å passe Innhold (justeres automatisk basert på innholdet) i forhold til Container (tar beholderen størrelse og multipliserer det med verdien definert), Fast (konstant valuta).

Husk at Apple Watch kommer i to størrelser. Du bør bruke samme layout i begge tilfeller, men du kan kjøre inn i noen små forskjeller. Ved å klikke på pluss-ikonet på venstre side av et attributt, kan du angi et attributt som bare skal brukes når programmet kjører på den angitte enheten.

La oss fortsette å bygge vår layout. Endre konsernet Layout til Vertical slik at innholdet vil rulle vertikalt når jeg legge til flere elementer. Sett Horisontal posisjon til senteret slik at innholdet vil være sentrert. Endelig satt den Bredde tillegger Bredde forhold til Container med multiplikatoren satt til 1. Dette vil utvide gruppen for å fylle hele skjermbredden

Trinn 3:. Legge til en etikett

Nå som vi har satt opp de viktigste egenskapene for vår container gruppen, la oss legge til en etikett til gruppen. Fra objektbiblioteket, legger en merke til gruppen du har lagt et øyeblikk siden. Hvis du velger etiketten, vil du se hvordan dens bredde ikke tar opp all tilgjengelig plass. La oss fikse det ved å endre sin bredde attributt til Relativt Container. Å sentrere etiketten, endre Horisontal attributt til Center og sette Tekstjustering til Center.

Hva skjer hvis hotellets navn er for langt? Jeg ønsker å ekspandere og vokse vertikalt. For å gjøre det, endre Lines egenskap av etiketten til 0. Dette betyr at navnet på hotellet vil gå over flere linjer om nødvendig. Endre etikettens teksten for å se resultatet selv. Resultatet skal se ut som skjermbildet under

Trinn 4:. Legge Stars

Vi ønsker også å vise hotellets vurdering. Ideen er å ha en gruppe like nedenfor hotellet navn med antall stjerner på hotellet. Legg til en annen gruppe til gruppe vi allerede har. Med andre ord, er den nye gruppen nestet i den første gruppen.

Jeg vil at fem stjerner for å være på samme linje og sentrert. Som jeg tidligere har nevnt, kan jeg ikke legge til eller fjerne objekter under kjøring, men jeg kan skjule og vise stedene. Jeg vil legge til fem bilder til gruppen. Hvis hotellet har færre stjerner, vil jeg gjemme dem under kjøring.

Drag fem bilder inn i nestet gruppe og angi bredden av hver stjerne til Relativt Container. Endre multiplikatoren 1 til 0,2. Grunnen for å velge 0,2 som multiplikatoren er enkel. Hvis jeg ønsker fem bilder til å passe i den ledige plassen på samme linje, jeg ønsker hvert bilde for å være 20% av konsernets bredde. Endre Horisontal posisjon til senteret slik at de vil alltid være sentrert, uansett hvor mange stjerner det er.

Neste, la oss tildele et kult bilde til hvert bilde. Du kan finne bildene jeg bruker i kildefilene for denne opplæringen. Still Image attributt til star.png og endre modus til Aspect Fit for å sikre størrelsesforholdet blir respektert.

Resultatet skal ligne på den animerte bildet nedenfor. Du kan selv prøve å sjekke skjulte tilhører et av bildene i attributter Inspector og se hvordan stjernene er alltid sentrert

Trinn 5:. Legge Tilbud og tjenester

Start med å laste ned eksempel bildet av et hotell fra freeimages. Jeg ønsker å legge til et bilde av hotellet for å vise brukeren hva hotellet ser ut. Legg et nytt bilde fra objektbiblioteket som du nettopp gjorde tidligere for stjernene. Endre bilde attributt til bildet du lastet ned og sette modusen til Aspect Fit.

endre den horisontale posisjonen til Center og bredde til Relativt Container. Sørg alltid for å legge til bildet som en nestet element i hovedgruppen ved å sjekke lag hierarkiet i scene Navigator til venstre. Still Høyde være størrelse til å passe Content for å automatisk endre størrelsen på bildet basert på bildets dimensjoner

Trinn 6:. Legge adresse

Under bildet, vil jeg gjerne legge til en adresse etikett. Vi kan også legge til et kart, men la oss bruke en etikett for dette eksemplet. Dra en etikett fra objektbiblioteket og plasser det nedenfor hotellet bildet. Set linjer til 0 og bredde i forhold til Container. Endre teksten til å være en tilfeldig adresse av ditt valg.

Som du kanskje har lagt merke til, er grensesnittet kontrolleren nå høyere. Det endrer automatisk i dreieboken, slik at du kan se innholdet

Trinn 7:. Legge Knapper

Grensesnittet kontrolleren skal ha to knapper nederst. Jeg vil at knappene skal være halvparten av bredden på skjermen og plassert ved siden av hverandre. Fordi vår hovedgruppe har en vertikal layout, må vi legge en nestet gruppe så knappene er plassert horisontalt i stedet for vertikalt.

Legg til en ny gruppe som vist nedenfor, og legge til to knapper til det. Satt sin Bredde attributt til Relativt Container og sette multiplier til 0,5. Sett den vertikale posisjonen til de to knappene til Center for å sentrere dem vertikalt.

Angi teksten i den første knappen til "Fra $ 99" og bakgrunnsfargen til en hyggelig ser rødt. Sett teksten i den andre knappen til "Vis mer" og bakgrunnsfargen til blå. Grensesnittet kontrolleren skal nå se slik ut:.

Kontroller at du har valgt riktig ordningen og trykk Kommando-R for å kjøre WatchKit søknaden

Når iOS Simulator åpnes, er det en mer ting du trenger å gjøre. Velg iOS Simulator og velg Hardware > Til eksterne skjermer > Apple Watch 42 mm. Apple Watch Simulator vises ved siden av din iPhone Simulator. Du kan nå se arbeids layout i aksjon. Se resultatet i videoen nedenfor.

Konklusjon

I denne opplæringen, jeg viste deg de viktigste funksjonene og konsepter for å bygge kompliserte oppsett i WatchKit. Vi utforsket tilsette og posisjonering brukergrensesnittelementer, og noen beste praksis. Du er nå i stand til å slå dine Apple Watch app ideer til virkelighet. Jeg håper du likte denne opplæringen.



Previous:
Next Page: