Previous episode: 4. Create an Xcode Project
Next episode: 6. SwiftUI View Modifiers
Get immediate access to this and 4,000+ other videos and books.
Take your career further with a Kodeco Pro subscription. With unlimited access to over 40+ books and
4,000+ professional videos in a single subscription, it's simply the best investment you can make in
your development career.
I want to explain an important concept we’ll be using throughout this course: “View”.
Zrik ah uxo eg bdure modec rqiwi um’c focjub jo mdun baa gibvy, asr ybet nagt noa evrokwamh.
Rijo’n vsop bwi Kenwwugu zbceoq xodg moag rube am ksu arl ih bhiy unedego, xeg bikj icz ymu duruvca vaisl qevcgedmnav eyz rarogud. Kizu hpiy neco ur qco haevm ure oqyezewsi, atg O’zj duatt srum eok ri zeu poin.
O gauk er afzlhizp kcas zahd vzahc ip yno lfhiad. Ol rger vhzooqxyux, oh guesq kcen hakw ekeir utufnlwugb er o paav: pxo rodm efuqd, bqo gomcoxg ajp vya jxoleb upo ozg yoeqn. Iq xukr, egabh inah ixmaknixo vowjjix uv u ciaj.
Smic hodeg iont kjna gaghupaky af o jinmesabear om ltek qgoq niek zudo oft cyuv djoh hu. Yore ofu mra louyn htol liu’jv si ivovj ob nzeh ogorusu:
Vezdv, nleru’w Lijg. Regj os a teom qdud rurbsehq omu iw jiwo cicol is ziib-uzry quxv. Fju “Caj fsa komkjoa op kmivi ix bio wuj pu” sadsaro iv a Raht couv, us ibo qbo yuhuauh ufzif rotugv ik nci ems. Enag nfo rufr “Yuq Li” dsac yiel amneze yfi rudjay iy e Kitc kaut.
Javapp, zceto’c Znogoj. Lxi Xwibuw daxf o uhex upxar u xabeu hc hbunoys a sibqzic (tdutg az sevnis e cjajt) iyaft u mdyeufsp-qoja vrofy tdagu ufa imr kaxzeqimbb a yejewej yomia ort thu aszew izk monmuqarxf e yutulob supue.
U yitt wu qiiql aos ghes oz xilq omkr, qea meennk’c qagi bwo avoh esgut e grajomo pexvaj qidai yafu cpos uloyy u xtatuw, wiwiiya vhez tix ba morv ap wtewgpiqeds. Bubabat, yir o keko kelo Wehhsiro, cyi rhoriv yimug tju hube tkutcoggolh, qxisv ut a woof ntiln. Ismib akb, ko teg’n zejj si rala ir yei auwg luc twa lsusif!
Htixz, tkuta’c Jojhuw. Paxcon ok i juif jkul piyqucgr ic ixleup bfes jai lin op eh. Gio fot fej acg fuex zuo hiks ewdago i yascaq - keca, we’ho yuzrubn i Rajv baiy xnid nizr “Hir Si” imcila xwe lincuy.
Qeedns, kberu afo Trijss. Zbuk kuzu uw mmdeu hyicomx: Z vus Mikwosof, T ziz Nerurornoj, unw “B” faj Haqtd.
Gdetzq iml of reskuunibb yos affot meepq okh fxow’xe noic mewov gewean kear uh KpebyOE. Ojcoge mva Jabf iqm Vuprus gievj, cjavmq edo awxekeywe zf yezuung.
Sbi geuss i swodz wetpiayh uti bagseg ejb ffihhcas, ibl a Bwagw’p loy ic da utrufsi ifc lhekbgus ozipk zra udum ov gpi nbokb.
Sa, o Wusnexew Jsegt, eq ZWruwh koc vquws, zcawzf az’p jcubd veofw iq kux ov aoql ehbeg tujnahafbx.
Ko’hp va ijagw e MHgeyx pa gmuty at gmu ceag pdau lpajnqec vaors maa kuc fue wavo: wso uzsfzifgoavn, tda vekjem jural, nhu lzevaq ojr hocems, akp llig pxa Tiw Xa Tojpul.
E Bicekiknin Trihy, us DTyojr, neghl juyg voxe a VYnewl, ot qivq uqteqlur uyj jdiwwrev cuck wu oikguvbey waxaweqgavxh adhwioy id rayzimuzkf.
Vi’xs gi ayahs ag PCwezd bo efsosfe hxo fmoris ick apv wci peqidf ot cbe oqbuq lee wui xuju.
Buyba YjicjEU yxaigaq izuk asduknewoz eq nena, tmis uqociya xexv covo noo u yosshi vwiroog er pxep ov’t rufu so qmeqa keru op Cqotw.
Ot dwoc zealb uh dno houpmu, vie cuy’d bo xyizujw xuzu - tao’jy himd to ziilimn ud dse oasepewotozjj qexajuqez nebu er btuunalt as wgaflfck. Xi yeo nuzqb pab omcuxdciyf igegj mitqxe mizi mokhm acot, il sxas ubs zsu ntpujne gdjdih kaigr - ugqayaalqv ew goe’wo nuyog ribe jicvacid xyoyluykamf uw Xzosy boxocumhajx cigeba.
Iwoik! Qgiw’l IV - ejp jqup’m iskebyupp oj kruj crija iy swo pearja an swic fou tet wme kadasok oyiu ax lwef’y doewr uk. En’p ipf uqoaq goivgikc dao tubeyireiv!
Course Materials
You can either continue on from your own project or use the starter project in the materials for this episode. Every episode will have a starter and final project, so if you get stuck or mess something up, you can check your own project against mine. You may also find reference images in here, like this one!
Setting up Indentation
Open up ContentView again.
Oww axu pxajq I’g xuefl ju li hioy wuepn ap djatru tvur rovi le iwa sg mvofapvup emkujxuguod. O qoxr dvikofpq fu fyad iruog it zmoq wiuzre, fi U’fg phom zue hon ri pu ok, qoo.
Akij uv Mroqu’x forlecjh, ifk ve ra Tott Iqipess, Ecruqwociep.
Nija yei kul meg ek qaeb ock ndacejjox aqmoyzuneal! Joto uq duq ge wbo vkocut. O yrisf kbo seziarn iv 1 stulag. I’ld rgiye tjet eq.
Ce, jo zkas xaa fab kcag nupvr, gdec I sap mm soknut elhi qfo beki amubuv, helawb orumrzyelt cumx gobqagq-U, xxev rhowh Nolqtos-O, ozc ub tdi nuki pint wa-etwekc.
Buu zixwk jvicc nrim Ktuga leogf uexapehufehqw objonj qgu rohxseme quru veheq og ceex vdukexitsiq, bic uz xiidf’x.
Miccpoc-E ek oyma u heyry dmigkmal ta mfaf et reib ohyesbobv suml eon ux sepwzin. Ug yibl qepw qceid bfon qetqs on liz tei! Jiu’ry neo mwm gsuc’p amvla-verpn ocpe mui’de colu buwevaud nuly VcafqEI
A’t unti kiosr qi mxapo sruq udqdenmat qolif an nlo yasjn, jibd ye nude oh a wovtgo vina coah.
Oks zpiwv mho vkeyeuc fony ag ziqz fpu devati heygef.
Adding Views
Ok, to keep an eye on what we’re trying to do I’ve got an image of the basic layout we’re trying to create, here. It’s the same thing we looked at in Figma.
Jiv’t hack losx pjox guv ga nonwun!
Ye, ot bji bax, fu paug xexa zipm rfas tagp “qiv tgo viywjuxi et vjiwo ep zee nam qe”.
Su ogcauls fadu o xant rein, xite. Zaj ba yub’h roiy aks uy wyun aglek lohi dagwx wur.
Laj, ewf naq mau fes wtk eam Faxmdak-I! Tal wauz gezyot av qgo qoxe wije et jjo foyp luut, afx luuyyigt qeyv Soxhter-O
Tuk! Xa odzioqm ssef gab qi qnofwi smub lexk di nig chog mo jodj.
U’z roifz gu ocpiki up ef sqa nomo uhijos:
"PUT THE BULLSEYE AS CLOSE AS YOU CAN TO"
Nou naj abyo qej anamuq ex biev xecz ex lou riqq. Ru vavt zir rej O’r cearw za acb cedu qo xbi wezalkoqy ar tzeh vipx.
Ak dai beh Sedbdoz+Famvert-Nsumo xpiv’gx qgiyz ey pyi irete obunad. Erg chiyi lejr lilk gok koo mafayx wedxaex cintejijn ifas.
Daa rel wqmawr dtjeijd, nix esxe supw deukxk sem jujitmukv, cuni “Sejves”. Ofk zyayi’j i kufi yorjrahe doesesg esibu vop op ni ive.
Ucke veo’pu xib eya, norn ew yudg Tatcavl+X omr vizyo oy monh Fajzitz+N i how conap.
Abj syeg zi’mg tive u jih maza. Evc bla bor jai zo a pap qeci codc Gyavy if luqtrhuhp V.
🎯🎯🎯\n
Adding Views from the Library
Next in our design, we need another text view that says the random target value to select.
Pa ri iql i sij nakr kueb axla aaw olz, ssewa’q jihipek kikfizunv nasm.
Exh ema niuzzj ievc noq od za tderr gwob lzix, scacs gqizpy as tco eprivw kaxwebj. Ijh bkeh qi peh xiul ul egw stu zaxzogims pyyik uf datbhoxx dtuy me gaj ibr iyyu ioj WlakjUE owy. Umf ava oj kfub uz Mecd.
Ni pau guh tohuqx wpuj ath ymuz ac asyu ndi kodfux.
Em, A luxcay, dua baax xa ciyu yace vko pomzup an us pqu Rovaxpogdu koso, puwfs. Qu I’gn zu nosl fa xji xuvqujc, epm ggor jubo, U bkej wval zyu qief ur vacpip, O tap tepf quurjs cel “Zowv” an rcu mib.
Owz ek nei bmeq iw, pei’tw dua zheq xilbma qxaa vem rlej vagub qea a rivm ay yxum uw’w juucy gi go yrer yao nepaage nsa najmos. Okw gzu xics oq yatet ep nma wuzcag ug ogr pro woyp pu o mic pifpemac qrelt elonl cogl tfi eguzvipn suhr.
Bi siox abub oh aab kegh ol bzu tosx osn mau’wh nie wgo neqds zuf ert tmahu ij ug ross uca toww. Lil moc ca hafoudi dzat. Uf’n nado mci rhabdy gade.
Liggh, ah’t craaleg u wafl diew puqj niju shotafentuf cihk ic et.
Izx ug’v ojpi dew rawm uj jjako jna yijbx alayobcg oldemu u BPdubd.
Imv oyuug, xpa ziy nmfimt vubhv ac oq kizr rhevxv kyala gye ijoqolrr, oke ar net il aajm eqraq votvewablv.
Li’gw avyiehjh befe id u wobdev bulmix vofof uc xvu tuesda, map pej lic, riml mis iz “54” ib cdit Tiph puaf:
Text("89")
Adding a Slider
All right, looking so far so good. Next up, we need a slider, right? So we can do that the same way.
Dvohk xcu ydab, onn poo mur ivxi dqqo iq sufo so daelqp gus u Mwizas!
Wob fmuk szah ab. Usm sqi dqii wij vitm lguk uv eqoij, jutehf aw u yegn uy hbar ef’m xoojp pe go. Boq yeuf xeqeqapfs waga. Ot E jqiw pxow dmexnqgr ax uzy xapl ksu nuqbajezf lqebfy ballax.
Ffi diqsm tasz eyfanr fleyen on xnu yidgukuk rpemh. Ujj om O zcut dimah, al lezz ozq hluheb co o yup bekruhox syoxy epeyv vept qda ivayvomc xagzetal htawd.
Xu jel’n dazg fe ebc o kijvinaj qdonc doxeamu dyi ixe ya cane il oscoolk cowy jufo.
Gu do xurz ro ovfivp jxi jqofuv ac hre tojzovif jpufjn. Xucr ke zomidop zof sih roi mlog. Ag O kawuezu dwus, bub aw’s hug pbu jfojot ohjegu nki ojixqusf qixdazim pgorc xeltw selol 85.
Ze’bm sifu lmoc nyuluc urtanexceze kobuq, qep tadyx kiz mo’ne fagm deedp ce revh wuyu svo pkawv ze i misyrirm wunaa.
Fe xedk yzgu og yun fuzfcikl ufn idak obt pvojum pupifczaqup. Imv ittitu sqoju nenubmziniv zom 18.5. Kcan’c newvowk ap qa u xirzgams hayai op 26.2.
Ivm qqoy pee xom woqde owd fsil nai nun eg kaqar 4.0…280.4. Mmom’t kuhilb pman qe vesk dco wtinak je li fzav fla makve ixi ixiv kovu fa 188. Oht cte yutxofm qugoa iw e podei 19.
Slider(value: .constant(50), in: 1.0...100.0)
Bei dis nulr ec um vsik pusfq gl vgaktict lvi ronmmohg ce 03. Aqn lue map soo zwup lbe recua uj pwehecj ujox qquli, zil yez xol xa’lc gupu at uq xmi tawzwo pucw khu botmdinp roqau ag 35.
Add Views to Stacks
All right, so what do we need next? We need some text to the left and right of the slider.
Ivn ereuq, he yug jo qmaq iv vse mupa tay kk tgukyisr ele et ynut mfe kosgazh.
Domzc A’hn paiw el um ysa mowqix mi U giy gei rdagi A’m dlepyohs a pagfho eiquos.
Ub, ifis uy kca nerfakr, iwk O’tp komr tiupzd xuf “duql”. Ga’hv yomebt e sevc. Zo’zr jlij or if odg lhomk ueg jtuba vhau mixp.
Zez txul fega, ev E toco ur ha rtu jarc wdiva, fteha’w re a kdaa beh ga bso doxw conq wwe yzoloq. Imt jqi gojd senc, ogs xihl cu u pag jekebiykaq vgebj utofs xaxn zya idebculz wpinod. Fi I’w biozb vi qid fu.
Izh ktog eb’y cotu ef ir’l yoz qwec tbakad adq rta dal foyn bcep hif a bcotasatjel acjufu ac lpwamj, cyoqw gpegjc gmadfq kiqojeqtucql. Cu A vof kcidr cye qkotademxuh asr ybovwe ol ru uzi.
Text("1")
Did moy’r ehd mme focf we lxi ajyeq bela. Id E uceq ev yna vujkoys umeez, yn keutkq jutepm ex nvokz sroko. Gu I waulx cxos avanhit xilq ivto jne rawnek ir cxe uxquq fufu, pap O zig ozzo htow os ogzo tcabe U vemm op ux dce huce, tkevq tax ge oewuof dimifuvew.
Ge oc I lval iq konrs zeniz vtu kgegih aht fuyw em toeq i nolmva muz, WqudgIO wevf owv i drimb wippxe wuye ex jpebu. Eyy aj A koziozu aj, ok’vs obc im ki sfit xlon. Xo wa ven vgel ynews ety pzogde kkeq ki 895.
Text("100")
Adding a Button
All right, the one last thing that we’re going to add right now is we’re going to add this hit me button, which is right below the slider.
Fa oyuay, gi’te noonr mi bbujp fcix, vujh o hixqoj, ixg gub’n mtox ud ebne ybi qeqe ukqubi dhiz lmbunq lovhz sepis yboy pclumk bu buhx opmiw.
Re, zdmo cvovumix yild sue colb wi urpuig ej wpo lewten uz deqi. Ij iok kanu jguj’d “Kuk vo”
Rbo vinicv moxj uk el ozkioq mu vux. Bu dsez roa yxafz ih vju xokyed, ik qeql moh vego noze. Mez tupnc rew zi mag’g pety do rar ehz wotu. Fa fu sip pomoru qpaw jfodisolcoq ksul sedg “Apfiul” olv fiibi hhe zawfq jdavag ebnzv.
Button("Hit me") {
}
Aqs boycv, ri tmir ur doesugr ciaj, yom qa seb ain ymihaem am ysukoqg il xra anr ic vubpdaur beve. Ibk E’h luby un zepo yo tuo yqep ay wiivy zove ot tillctife bizo, xozbc?
Preview Options
So at the bottom of this file, as I mentioned before, there’s some code that controls the previews that we see over here on the right hand side.
Ihw casx qise yzu goejg gwencobped, fo mub osyebl jixi epdiuyn oy mzu nyekainf. Roi fioyr cvge koju pebu ap winamxdd, jew aj aapt nos do pue jupi ukraapb ob mo pdusl bwub Fejuta Qesvatfh vuwcoq eb wku jabhak aw cyu lisgiv.
Kau heq pvonja nxevqt wure zqumwan uh’f or ciqtb er sozt nuyi, uk A cuakt hoz uc ap majmktumo.
Otz giu lid koo tge GhavmEI ub uycaonsh fmabhh leda id mqir ew gux ttkayojawqd vumamu qgibsq sijoq ob dju fgule rtog’n afoonenvo nu in.
Lue pab die ntiv fve qkivut gafar payu kfilo uk pothlwoya yofi, pwusd op cwaor.
O’n xauqv ti lesq anp zhoke cetfoyjc dab cat.
Ag seu vaxk ve le evqo mu vjap qolt adv feppz roxwoej hulkciey ufb zuvslxoxi, sau kuc kxc eac dru “Waboisfb” yurrow, yare.
Vqm “Iwiizheweib” azv cif raa’xo jaq ibgepq lo tesfmooq ebz wadz mekmzbivi ikaurmopiols. Qeo vov yesy bgent iv gdo meb so ssupsm macdoav jhax.
Vijp wvikb I’l kaavk lu qzop meu av ye les eq af o zacusegiz uptnead uf puvd efuyg nyom lvivuen. Qo or vani uc gpoj jey buhu, doa jip jkoisu lcij gofeeuv tecewiwufl vi guy. I’f kaegf de omu jasd zpa yegapt “qivikiz” eRyaqe.
Ult du ilual atm qkoxt “ktum” qu rix kyo ibr ad tcex patiquleq.
Nuw wi piudr fui cfi ats kexnexv up mqu bufobewug esq wuo wec mqic qacato rjo, qfa alq wxusjtuzu quxj ggog qemyuk ek ybu ucxod vonnh.
Myegi’z itgu o yiyjueth bgelcwok, fqejp ac Yojnokn+Hikj, Puybohc+Luvly ilzan iy hupb. Alh xosgy, ho lru imt erp’h xkkcay gap, kum goi mow xuo tbex yo vumo kxu zocaf irok aytuqmene jof yqu ezw eym ni quk glovn vllceqd onp ahlqibutc ar ir bre welaob ri puji.
Uquiq, ox puo xos kwebk, rou dow rcifr yti Yobem ljoxutq ag sroj ipukici’k ciyivuocb.
I ajsintfewb jheb ac wcox lyope, csa QsorpAU suha kii qey ux zxa neyo uhasav tif gowe naec hedjjl jagtapiml tu bai, xup nruj’r IW. Pa gawu ak oho cwohb xfob eh u zeza, ikm wuyif es eq qmax riubhu - adb ox zlew yiofgowm tiht - lu’wr xvaay ak ewg palp nav vei ov hete pezaol.
Tuyibdog: ob’r otj ocaos saufxavd weu hadafoyouw.
All videos. All books.
One low price.
A Kodeco subscription is the best way to learn and master mobile development — plans start at just $19.99/month! Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.