, programmerbare 9: begyndt med uistackview,,,,, 32,,,,,,,,, 6,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, som hver udgave af programmerbare, programmerbare 9 bringer frem, en masse nye elementer.uikit ændringer med hver udsætning af programmerbare, men et særligt supplement, programmerbare 9 vil ændre hvordan udviklere fundamentalt tror, om at skabe brugergrænseflader på six, , uistackview,.i denne forelæsning, vil du lære at bruge, uistackview, skabe brugergrænseflader.,, denne artikel forudsætter, er du bekendt med grundlaget for auto layout.hvis dette er nyt for dig, så vores indledende forelæsning om auto / er et godt sted at starte.for at forstå, hvorfor stak synspunkter er så hjælpsom, og hvordan de fungerer, en god forståelse af auto layout er påkrævet.,, 1.demo forpremiere, bruger, uistackview, kommer vi til at skabe en falsk skærm, som får brugeren til at forlade et kreditvurderingsbureau for deres app.brugeren kan tilføje eller fjerne stjerner i brugergrænsefladen til at angive deres vurdering.det vil se ud, som om dette, når vi er færdige.,,,,, downloade starteren projekt fra github og åbne den.du vil se, at der er to stak synspunkter ind, main. skitse,.,,,,,, vi vil bruge de to stak synspunkter, fastlægge de brugergrænseflade.før vi begynder, kodning, lad os først og fremmest tage kort se på, hvordan en stak opfattelse virker., 2., uistackview, oversigt over, i centrum, stak synspunkt er en grænseflade til om flere subviews, enten lodret eller vandret.hvis du har en androide udvikling erfaringer, det ligner det, linearlayout,.,, en af de største fordele i skorstenen er af den opfattelse, at det automatisk vil skabe auto layout begrænsninger for hver subview, som lægges til det. du har også begrænset kontrol med, hvordan de subviews størrelse og placering.der er muligheder for at indrette størrelsen af de synspunkter, der bør tilrettelægges, samt hvor meget polstring, skal være mellem subviews.,, om ud indhold, for at se, hvilke muligheder en skorsten, mener, at åbne , main.storyboard og vælge en af de stak synspunkter.i de attributter, inspektør, bemærker de valgmuligheder, der er opført under, stak opfattelse.,,,,, den , akse, , afgør, om de stak opfattelse står sin subviews horisontalt eller vertikalt.den , tilpasning, kontrol, hvor den faktiske subviews bør tilpasses. , distribution, definerer, hvordan subviews størrelse og , afstand, kontrollerer den mindste indbyrdes afstand mellem subviews i skorstenen synspunkt.,, at forenkle disse hensyn, tænk på det på denne måde.al,, ignment, kontrollerer den, x og y, værdier og distribution, kontrol, højde og bredde.de to andre værdier kan også påvirke tilpasningen. baseline relative, hvis kontrolleret, vil få lodret afstand mellem hver subview fra baseline. , layout margener i forhold, lægger subviews i forhold til den standard margener, hvis valgt, et andet vigtigt at huske, når man arbejder med en bunke er af den opfattelse, at det er bygget til at være en beholder synspunkt.på grund af, at det er en , nonrendering, underklasse, uiview,.det er ikke gøre det lærred, som andre, uiview, undergrupper.det betyder, at fastsættelsen af egenskaber, backgroundcolor, eller at omgå de , drawrect:, metode ikke vil få indflydelse på stak synspunkt.,,, subviews, og arrangedsubviews, før vi begynder at arbejde med stak synspunkter, vil jeg gerne fokusere på forskellen mellem en stak synspunkt er, subviews, og arrangedsubviews, egenskaber.hvis de ønsker at tilføje en subview for stak opfattelse, at forvalte, gør du det ved at kræve, addarrangedsubview, eller, insertarrangedsubview: atindex:,.det, arrangedsubviews, system er en del af dens , subviews, ejendom, at fjerne en subview at stable opfattelse forvalter, du er nødt til at ringe til , både ,, removearrangedsubview:, og removefromsuperview,.at fjerne et arrangeret subview sikrer stak opfattelse ikke længere vil håndtere dette synspunkt er begrænsninger.det vil ikke tage det ud af den grund hierarki.det er meget vigtigt at huske på, nu, hvor vi har en god forståelse af, hvordan stak synspunkt fungerer, lad os starte med en bunke synspunkt., 3. konfigureringen af de vertikale stak opfattelse, åben , main.storyboard og vælge de bedste stak ud.i, attributter inspektør, foretage følgende ændringer:,,, tilpasning, til center, der , distribution, lige afstand, der , afstand til 30,,, det vil sige den stak finder og tilføje begrænsninger, som centret alle de subviews vertikalt og størrelse, således at de udfylde de stak synspunkt er akse er jævnt fordelt.det vil desuden tilføje 30 punkter i polstring til subviews.,, hvis subviews ikke er i stand til at passe ind i den, der mener, at det vil reducere dem på grundlag af deres respektive kompressionsresistens prioriteter.det kan ske, hvis du var at tilføje subviews til stak synspunkt løbe tid, som vi vil se senere.,, hvis der er nogen tvetydighed, stak synspunkt vil falde tilbage til at indskrænke den subviews baseret på deres indeks i sin, arrangedsubviews, system, indtil de passer stakken synspunkt er grænser.,, 4.tilsætning af vertikale stak subviews, tilføje en etiket, et billede på, og en knap på toppen stak synspunkt ved at trække dem i dokumentet skitserer. sikre mærkningen er øverst, image synspunkt i midten, og knap på bunden.den tegning er dokument skitserer skal se sådan ud, når du har lagt disse subviews:,,,,, næste, vi bliver nødt til at ændre nogle af de egenskaber, subviews vi tilføjede bare ved, attributter inspektør., for etiketten, ændre sin tekst, at "hvad synes du om vores app?"og vælg, center for tekst tilnærmelse. som for billede opfattelse træde "logo" til, billede og en, kun egnet til, indhold tilstand.for knap, fastlægge sin tekst, "tilføjer stjerne.".,, løb app.du vil se, at meget lidt arbejde, du har lagt tre subviews at reagere på ændringer i orientering, størrelse osv. faktisk, du ikke engang har manuelt at tilføje yderligere begrænsninger.,, mens programmet løber, tryk , ser lyset hierarki, knap på bunden af xcode vindue til at indlede direkte betragtning fejlfinding.,,,,, vælge en af de tre subviews du tilføjede tidligere.se på den størrelse, inspektør, og bemærker de begrænsninger, som blev tilføjet ved stak synspunkt.billedet nedenfor viser de begrænsninger, tilføjede for knap.,,,,,, 5. tilsætning af stjerner, knappen til at tilføje stjernerne for vores falsk app ikke hooked op endnu.lad os ordne det nu. stoppe app og åben skitse.skabe et, ibaction, med navnet på addstar,, for, rør op derinde, begivenhed.,,,,, tilføje følgende kode i, addstar (_:), metode:,, @ ibaction funktion addstar (afsender: anyobject) (kom starimgvw: uiimageview = uiimageview (billede: uiimage (ved navn: "stjerne") selv. horizontalstackview. addarrangedsubview (starimgvw) uiview. animatewithduration (0, 25, tegnefilm: {selv. horizontalstackview. layoutifneeded()}), tilføjer vi en stjerne billede til horisontale stak synspunkt med en informationskampagne.kan du huske, da stak synspunkter forvalte auto layout begrænsninger for os, vi har kun brug for at ringe, layoutifneeded, til at skabe en informationskampagne.,, bygge og drive app igen og tilføje en stjerne.du vil se, at det endelige resultat er ikke, hvad vi håbede på.,,,,,, hvis man ser på, attributter inspektør med bunden stak på udvalgte, problemet bør være klar.eftersom både, tilpasning og distribution, der fylder, stak synspunkt er som star for at udfylde sine grænser, vil det også give flere problemer, når flere stjerner er tilføjet.vi ønsker stjerner være midtpunktet, ikke strakt til bredden af det stak ud.ændre, tilpasning, til center, og , distribution, fyld på.endelig, ajourføre, addstar (_:), metode ved at fastsætte det billede er der, indhold tilstand, aspekt ind,.,, @ ibaction funktion addstar (afsender: anyobject) (kom starimgvw: uiimageview = uiimageview (billede: uiimage (kaldet: "star") starimgvw.contentmode = scaleaspectfit selv.. horizontalstackview. addarrangedsubview (starimgvw) uiview. animatewithduration (0, 25, tegnefilm: {selv. horizontalstackview. layoutifneeded()}), bygge og drive app 'en gang til.tilføje et par stjerner og mærke til, hvordan stak opfattelse korrekt - - dem med sin akse.,,,,, 6. redebygning stak synspunkter, vores app ikke ville være meget nyttigt, uden mulighed for at fjerne stjerner.åben den tegning, og tilføje en horisontal, stak på top stak synspunkt mener hierarki.sørg for, det er placeret under image for logoet og over den knap.,,,,, trække "tilføje stjerne."knappen inde i den nyligt tilføjede stak synspunkt og tilføje andet knap til ny skorsten synspunkt.ændre den knap er titel "fjern stjerne" og udvælge røde teksten farve.dokumentet skitserer bør nu ser sådan ud:,,,,, redigere attributter for den ny skorsten synspunkt i, attributter, inspektør, , med følgende ændringer:,,, tilpasning, til center, der , distribution, , lige afstand, der med mellemrum, 10,,,,,, 7..at fjerne stjerner, skabe en, ibaction for "fjern stjerne" knap med et navn, removestar for, rør op derinde, begivenhed.,,,,, tilføje følgende kode til, removeaction (_:), metode:,, @ ibaction funktion removestar (afsender: anyobject) (kom uiview stjerne:?hvis vi astar = = self.horizontalstackview.arrangedsubviews.last star (self. horizontalstackview. removearrangedsubview (astar) astar. removefromsuperview() uiview. animatewithduration (0, 25, tegnefilm: {selv. horizontalstackview. layoutifneeded()})), bygge og drive app.du skulle nu være i stand til at begge tilføje og fjerne stjerner.ændre orientering af programmerbare simulator eller rotere din test for at se, hvordan app opfører sig ved at justere dens brugergrænseflade.kan du huske, at vi har bygget brugergrænsefladen af en app, uden at tilføje en enkelt manuelt begrænsning.,, huske på, at , removefromsuperview, kalder i, removestar (_:), metode er af afgørende betydning for at fjerne subview fra betragtning hierarki.minder om, at , removearrangedsubview (_:), fortæller kun det, der mener, at det ikke længere skal forvalte subview begrænsninger.den subview er dog i betragtning hierarki, indtil vi kan fjerne det fra sin superview ved at kræve, removefromsuperview,.,, indgåelse,,, uistackview, klasse i høj grad forenkler udvikle brugergrænseflader.det er en god ting, især når den hardware anvendelsen kører på, kan variere meget.med uistackview, udviklere kan bruge mindre tid at oprette kedelige begrænsninger for simpel scenarier, flytte tunge løft til uikit.,, hvis du sad fast i løbet af denne forelæsning, føle sig fri til at downloade det færdige projekt fra github.