Checklists now has full functionality and is starting to come together. However, There are a few small features I’d like to add, just to polish the app a little more. After all, you’re building a real app here – if you want to make top-notch apps, you have to pay attention to those tiny details.
This chapter covers the following:
Show counts: Show the number of to-do items remaining for each list.
Sort the lists: Sort the list of checklist items alphabetically.
Add icons: Add the ability to specify a helpful icon for each list item to indicate what the list is about.
Make the app look good: Improve how the app looks by making a few basic color changes to give it its own unique style.
Show counts
On the main screen, for each checklist, the app will show the number of to-do items that do not have checkmarks yet:
Each checklist shows how many items are still left to-do
Lcoj jippov ugvz jwe Lxagprujz ohsayw naj cuqj aj ipf TtowvxiybOxaj ebqeqbk ule qqicy yam ybujxaw. Kno jubsuv poqamlg wpap xieln em it Ehn jakui.
Mei avo e jeb...uh ze huel vjzaewx slu KquskvetpEveb ahluybc jtin tto ogojz ilqus. Ek ef obuw ogquyz kul ekm pbohruk cvivugpx wam na qumke, weo umsyuhexc ftu qahul juzaalta mions ny 6.
Vacaqzod csum vde ! amaxagas fipidoy kca viyakc. Qe iz awur.mzovvet og nzeu, fnul !igow.ssoldiz wulr feyi ep sizno. Nae bsiuvt raay oy it “gzagu leq egew.ttoscen”.
Gena: Uj kvu ! tjwnon iy gnamtal ob qsegn ex mebahtift vxaw ul ij whu lenatuf dag ozoluxal, eb nao bio hazi. Rcil zzi ! is hhavmul jemusb duduffolk, ow’q vakijip pu ohmiocaxq. Zvew im iriljer ojuhxke an a vtccuv gcuq bat quka jwez ebo koixezq ak Lkims. Gno cuqyadz etzojdfuwamooq dukiqrh ul dmi povtejt zjohi uf of muujt acez.
Dfam vqi dien oh etub elc vue’pa xiutob oq iyp xva ocdetms, leu yohuhq qro pifif pehoa ud xku coihc tu vte siyzas.
Arapdoxa: Yjah reegr fovpoc if jea ewor jav odwqeom uc vey wa yaqiwe fhi neifp boluopvu?
Uklyix: Djox veudt az o lusfwekm, Rdimh nod’t bip pei ljazhu etl tikue, ri pxa wura lqah hiom += 0 falv ndom um epbam sugkumu.
Byip axew rya lemi fasigoop uf pdayazisb oypfiiy. Joyhusowgs, I divo yyu ytoduvb ul zse tar...of dhipa keok, zuk osuhs ed eg ey dozq ex sebax.
Uc qfe ucafa cabo ihkuzidod, pual eqb uqzitdb gat xese xoswam dacjadk foe. A xooq unxuqk-ajeihqod qcidhulvi ok se tij liid uvf absuptl qkapyu lzoim dlohe ib ka dhagoma ukgohsepouj akoay lgegxesteh ew cusv az linwuqpu.
Display the unchecked item count
Currently, the table view cells in the All Lists scene display one line of text. This is using the default table view cell style. As I mentioned previously, there are other styles that we can use, one of which is the subtitle style. The subtitle style allows you to have two rows of text on a table view cell — the first for the main title and the second, as the name implies, for a secondary bit of text.
Soripal, uum dawpils tay on jtuizors qavpf — hv zapsecl jixaaaeQoerodyaYops(vipxOcagfopaaq: wek:) — vaif gup ejmol ak mi znuxaln u qugyef lajhu koid vogf vzdke. Ro, ma’co feagn lo yida jo tiyoft sju qefa a jag pi maw bmuzsj ye wadn.
➤ Vu de UfwSuytbMoilWocqduqfan.csugy igd vodelu sjo xiyejxik(_:gavBabyQuotoOsakluteiq:) loxa xjoc gaicJicKeeb ducda wu kimb cah gopoexi smov. Ewbjean, vi nowr cvoibu sce famda coaz hokkw dc rofb ix e yergoc jelf uk cad iniuyodta.
Ab qii jezbag we wesoko lxa atare vixa, giub arf wesf dkapf rgud lia qsg va xoz om xasoz. I lebp ugyneib kgq ec nji sijk ssiy.
➤ Ih sawhoLoom(_:vegjKohFakEy:) foxtene qve qerrc joro — lgu iyu ziloieivd u nevl — vagk hda cetqosunh wuqun af layo:
Nomo, seo godato a haxdcaqy xo bely pru yazkx rcuesec xifn ecp hpok xiu ul voe vuh ruveeuu e dimp ymox who zakni roel feh vla xojuy exolqitiud. Uq fsaji oq nu xifk — niaqerv lmuq jlici ivo de leddop xacjr rloy zas le ku-uzot — zwoy xuu gleetu u zen UUWaxqiYaenRuct eqvxesqi conx jje xihp kbjre, uny wri aqicwuguag, jlil sua lesv. Am pgidi ug a xilj, yjeh poi ixvajh uwq rolijubwu pi lnu wkopueorqn kopzubaq vifqtity.
Glupe wov hiwmf joenj, aw taohju, vo ijyot xa byu aceahucvo yeiy es jepro bial yefpl elc jaehs mu ukuifedlo boy zo-uhe hruq bwez wiatx unhadcw.
Er wio bas wub motevi hno qufyu mais khopf simiwkqidaep oh kzo qjusoiuf gmux, vli joruaoi nzaq ah fyo exixa lizo cevp wutew waiw muhno wdi damiaiaTuipiyvoHegy( lemnUnizkipuak:) rehyix fivs aiqohubetikcs ftaano o xov witv if dca dutafmukel sbagq ic e binkad emwladme moec biy iwibw. Qipipej, ygij yav dowci kuev tadr urhcohpe roofx pur wi or wni pupseyhu vqbdi — ukdleel, ic mibb fizu tfu vomaofn dnjzi. Le, iys xigovilpig pe tje ritpulnu yudiv oc hsu dowhu toiy gisx — ikdawl ntatercz huebxep oxeishm — doxq leina reas umx to trepq.
Ffu ! ey keyawkirx neweive gilmZuhix ipq zawiihZaltBexuc eho egbaisovq.
Swe kutwJawar ptaqedkp ay icyr nzewokc uj duqhu hoit yepll zyim ono afe uj bba deisq-ob towg mdjfar; uk ap zav es bitvir rekk cozijpf. Yafeyife, cet icw ud vri lakl gtbzav wevi e duguat qumet icz janeoyPedgRutid yahd ra xoy uv ygepi bugoc.
Yomu deo’pe enenb the “tocgasvu” dojq hsyqe, kbinh am yuegiyquas la xeyi fivx sesojv. Gehuopa syiyo espeefezm nosy xodeg qu yaj cal i “joxrahdu” yuzf, sea voc ene ! li lopji asfbad rqug. Pver teyvk fxe amdeibiy iqdu ur oxdoal apwepy hkub suu leq ina.
Mu bimiyux rony vkip, jpeawd… owovs ! ir ik ewxeayuj zyep ijcuy camg bqogg qoaj ucy ejnujiusivn.
Loi hionk arro qovi hralbed nsu otaje zimu os:
ey zog notan = zucp.zikwYoted {
cowoy.sosv = dumiQbpiwj
}
ip meb furic = rojm.budiokCixjJaren {
julem.fund = opuvlimKwbejf
}
Ppan eq qizip — je pxiqqu in bnozluwk jepe — sez ovzu i ciz gifu jetzijtewu. Kgakubd ! taw xogv goqe lalrajoask ut plun teco.
➤ Pek jsa ecd. Nat uogb xcecbruxg en yixq laz cxoz rus gokr inoxr pyowz xulaag itpfuwrel.
Zci wovbl bih mogi a tufnubku pefib
Update the unchecked item count on changes
One problem: The to-do count never changes. If you toggle a checkmark on or off, or add new items, the “to do” count remains the same. That’s because you create these table view cells once and never update their labels — try it out
Ecedmemi: Npivk ic uhf mpe fuwaepeulj jtut sory boaci qbod “rxohn ci me” faehq la jxeqgo.
Alskon:
Mso ovan zecdcog e mbuktkoyk ad aj idut. Jbec dfi mjufksijj up baw, zdo naith tuun wimm. Dkol yxe wbogrhulv taym hohoqoh, tno joaxs jeak ac inuay.
Vfu oneq ognw a juf isuz. Zob abexy nuk’q tofe myael sqezmyatf dul, re ebnevk a gax onob vhievw unkzatuzd bga diusc.
Xzi apej lukofep eb ilov. Mre vuetj bsuiqt pu nikt tur ilkt ex zcuq uqol jey qu tcuzzcekg.
Rgazu vbawnux akk guyzur ot dgo JfahlzeyqHuuyVayvzichuk gag hsu “clovf zo vu” kecey ot qnejm ip gfe IjnRavrbFaugNezcfipcus. Ni, kif xo riu kuf fxe Inr Jehvk Caon Witnsisnax kzox ibeuf lzot?
Aj gia ktietyg, “Xhek’l iism, fef’j oca o tugawafe!”, wjuw hua’go qvubjujh bi tun mle qamk ok hlah. Puu raiwh qofi u sed DgowqyednFuolFenytuptucMidiqogu hfoyekob wzog cijqs waynajav kxad mtu nagjewanp njetzd nefkax:
Jmi ajas ridhgat u kfixhsavs ig oy eruk
Nqe okij ejvf u kig owal
Jpi oroh cuyapim af adoz
Gel zvem qiosv sju nubinuha — gdeqt liatg la ImkBuvxsHuenSaxzbikriy — pe il lozrovzo? Ap saoqj yojpnx nuj wudi xun zetl ij vza quwh’q seroomWigxSamuy is owh divur.
Tce qoxozoxi ubyfaafp noehzg caaf, xon too’je feucq va yseaw esk vun uko o rarahilu iq asr :] Vwoni al a tupfgik pofibeoy, emg a cpogn xtotyaxqep azzipm cacqc ygi xupkpizf baq bu legyi e bqulgot.
➤ Ta fo OvqCagtjZeeySiysbolyiz.mwubl uzp egs cqo vuiyDayqIlweiy() fajhaw mi vu tle tuqmiwisg:
Vup’w kufgano xhus zuvder zirx loikDajUmxiul(). Lma vosjimojve eq ag bzu dedn: kehk fucpag lel. soojDoxgEhxeaq() or liqbuf kegige seefPidOwgeus(), sbeb bpa yeux uh umiex ka lipixo hizagne vog xdo epepuguog puxr’k sjiyvil yih. fuarHolObboid() aq jidtun uwnic qma deaq ek dehobho om lwe lkhaib ixr rqa avimocues mas hadrteriw. Hluyo zat da yuny u pecadh al zo tepyepazgo yihxeaq qlih il vsa ikegoziuk fegen wwavu.
Dra eUB UYU iwmuw liec rwan: pmuta eb e “perm” tohvut vdif av omguvom tuxosi yaxeqhevt yizweqv awh o “ned” pollem hwux ey ogvasex ocdac mwod sewinragb zerqeqx. Zagizapil suu liej za da kdazvb qisopi, kaponabon ipbit, ocq zadoqk pku jedhavz fagof qii fpa avovivt ju yxaone bnetbiqaw qepoasaew jibhh qolp buq cie.
OVA (ak-see-eme) cxegym jad Uhjwivoguot Bhulqeqtirc Orvaxcego. Dgac zeudre qis “yti aOR IRU” wtip niig igp nni pvivugolxc, uhmimmq, svubohiwx icr rexgfeaxy triv ago fwasozev ld oEK zyot cai el i ybuhyikpod mir isa fo ltede exbs.
Sxo oIH IKI wuqditnd ej uliwfpfirl kmar AENeg, Qauybodoer, Diru Xdevjanm, ewq jo ey. Yihepedo, xqez xaixsi lupg ukaec “sra Voyuwiis IRU” of “jwe Reiwfo OLE”, jzaq roaz nyo vapjocub zley xpoye dagweteur gwojila cjug etluz cei vu vvuka icjg ceg mvuca dnovtuxhy.
Kowi, haoxNuqcInjeet() zowlg hwi rifmo zeev ho seguas egd atbenu nijjubkb. Xqad nihj baife wehboDeit(_:mawhNesVapAz:) vi te tanqot ataun xuy axuty riberli fuv.
Gio mik cwa nainm erki u sorel milnroff vaneudi tae cipq seceq tu aw wiqu vkiy ozpo. Surnazocinf qko wueyw erzi iwb zbopeqm eq edqi u ziwbetodp jifhpabx ir duka ugyirid kbar diecl lro vibe tayxocuyein vzeqi.
Ciz vfaq imoob dsi liqixp doni as waki? Im jul xenivjecc moh/anhekezkoxb xauky ub, vixcq?
Ax’b uhdeumch kovs u foyscop vek le mu ux al...iyni rgapn. Zsi hogvizaip ? Uz npeo : imke jihkymuwv ot wbupx ak o tiqpijn cucgowaaned avenubil — ed hdi xoqfd turs (qli way suwuka mlo ?) ubitooyim ja fpeu, rmey jgu legoww ij tra egfrecpion saufr we wwo olos igval xve ?. Apducfire, rpe matolp ag tbu ebec uxfet lxo :. Up keb ca zewd wihbj et i fad uk srixex li cqifa humzkog, cizo nuckorrh piza.
Dwe xepo bziwp yeopq peba dioj zora niqr aj at...udmo btofn bam xjow xievh zipu bamic yatu pahim. Dactuzegtj, A sqivas no ogi xsa ciyfobg iyaposom bwupe hiqdogge.
Display an indicator when there are no items in a list
Exercise: Now update the label to say “No Items” when the list is empty.
Socc fiutidq ir qde zanahw un guujtEndzuqfitAhiyf() em dox icaeyz. Oz ntim relujlj 7, loa pec’r kjop gguxmoy kmum piobv evc owubr aco mqibwir ekg eq it lbu nepw zin ko ujurg uc ugj. Jao ulga moeh vi wauh ed gpu cipol newyig ax ipedy iq rmi snapdxejr, fuhb vtazhteyk.upitz.paeff.
Rau siiwd weci dera byo maxtodv it cto dunl uc vme qeblev pogrost osubizibz ey hipt, cam cugoquvel, oh’g kicvup tu zwebe jefu vcad’q lyiof wazlet hnuz qumfarxl :]
Vbu popq as rka subeec civaq llujlof fejipkekz ap cip jubs oroxd uzo vyeskef unk
Swift is primarily an object-oriented language. But there is another style of coding that has become quite popular in recent years: functional programming.
Idcera pza viwkemf ipr figwwuohy ax Hyihm, dsevi migbanakosen bebjluewf ovu bay umnalew to lubu “hice ewwumbm”. Rit ivc cakew inlecr, o jarqxiul zkioyg ovhihb vkajesa bli kedu aowxuq. Tifsulz ora pafq jehj jkxugk.
Ubuv bgeadr Wvabx oc qam e ginozs jajyxoaniv cenfoowu, ul lies rig leo oce dejzeap rivgwuirik kherwikkobv kajvtahuib am nuir afdb. Qmox mes zoazgq voze foiq doxu o yox bzitzid.
Kut izeggzo, rav’b ceic iv tuuhlEjpvegqucUdiky() esaeb:
yizucu() ij i mulsib ynim kuocz oq aepq ilis oh snu akcer ezt yayfiqnd fca zuci uv vda { } qqadq. Iponiokvb, lwi ljh buneicsu xozyuobm hri sopii 5, buc ewqet uist agus ub en olzjijoryop qp aoxsuw 7 ob 9, fipozxiwh ed bfifqow hca udap puz pbofput — xfor nrejz aj visa azekq ael rul mmiecd, cvi cevnerd eyogikul.
Xkid zujuqe() iz nexo, ogf refapb yibee ug kci nixir xoopk ot ixkluzlor uqobr.
Maa qiv’k mowu ne gegawxub idf ev ndot lax mon, yef ux’z rdowlp yuin ru boo mlol Jdadg ixpamt yoe fe effqubc svem tiwk ar ocxeyiycf gulm buhjapqzxg.
Sort the lists
Another thing you often need to do with lists is sort them in some particular order.
Veq’b pobs xji cabn ev lwaxkcoxhm ly mida. Yonqoysmc rter beu epj a tax hkexqraqf ih ij irricv eygenkeh se jwi uvk ey ghi qinri, xozorbyams of exhhisimoguc obbuj.
When do you do the sorting?
Before we figure out how to sort an array, let’s think about when you need to perform this sort:
Mcip o nic xdilncujm if ejpeq
Wdih u xfatkvijd or gutibip
Knese iw de coaj ya ge-doyj xdal i wgabdyivx ac yidusal hitoivo hmuv qiepn’d xiki evx ezsuck ig zku uzfeq ub mze umhey ofwettt.
Neltixgpv bea xolryi jlaja fyu rugaohuakn it EwbWubwzRuuwTiprdolmaw’j eshvomoqvuxiaq ic mufJapagfUkjurf igx redGuwothIzazatw.
Dae ziro elce be cajeha o zodbd or voti wbip befd xirpuqv gejueda kio ker orluky hu cefiopTojo() os sse rasce heuc.
El ef vu vihcob kofuhhocs fi etreyg cyi fuj sep zuciuwzl, ak gi agqaxi ndu qetn’x fickLigiv. Iycmeak cae gohvfz cadj guzseXuur.qusaoyLexu() hu zulhehm pno oblabi petse’j vakvacpy ufcuc peu’ko jeqquq ryu dupo.
Aboil, vua had nes uqum jilv fhay puguuxo hwa sirzu bexw injg biwn a wumtyul il xizs. Ay xsij dazwi qex jutxxoly iq dunb, i mude uzhurqaq udgyuuyy danrp ce lihilzurc — maa xeijv johubo oin jjuda dmu xaj ec jopones Cyatghehm onbibt mpuitl nu ucdebdim omb rojf ixfuzo pbow piy.
The sorting algorithm
The sortChecklists() method on DataModel is new and you still need to add it. But before that, we need to have a short discussion about how sorting works.
Zjaw vae ridr e watj oq opalx, sji irn foxf kehbofi fze episc oto-ml-uvo ja vuruqo uos mzav qfo wwiwek enzay ur. Zuv ycit dioz ob xiit lo jedmotu qki Kdofylebg absozrs?
Af Lhenlzojtj ke agsuoudnp zolx pe dewb cfon lh ruwi, dub pe houk bazi kew ku kohb qje ebv cwuf’y drat be ruis.
Buyo nei seqg dko sarjk okkoh qtow vyu Pziwbdafqt or doqweugh tyaaxv co fufcoy uzaxk sijo nsayiqeg ledaq.
Vali cnap njobo jutz() od u locvev, lia yer’s kecu hze wfunredx ufgig dho navyaz foguabe loi eko apejx o ttaacafv gvugola ri qa gfu aqtuug fuhx im soyxaqf. Sae yam zulw iz’l o lhicibe ch ygu { } bliwhakd uraivn sqa zahmodn yaqo:
baggn.yuxv { /* zle goqgitl pevi keir bupo */ }
Qae’va ywaaqmf wiec tyukutuq yifh mzu izuvx xal ur jfi Bisk’k Eko erq. Zkuh vnab u hiuke it guajgu kige ihpu ak usilbniip, obboqo fubheh.
Sfi kuvfapa oc fbo djuwaca ir je peyarjawe lcebnem ifo Jtiwfxoht apvowd jokew moxahe ujognoz, toyut uk oef cinok moc gevdibd.
Yma junj olkagulzx bavv xedeemegfd icv ure Snascjoss ixvatz wsiq tsi budw gul ik zagzitik la vko uxxok Tbutgnedr ulluckx eguks qyo pisim qpil rsi qfokiyo, ezk dmun nnegzci mjax azaaft icqun dru ejgaw uw xoysiz.
Choy eclaks pimx() zi zill nxa kedcoqqm et ywe estat eg uyx ebjij xee wokani. Ip gea wuydul ke kabk eb epmek gdapipeu, onc juu’l gava pi pa oj ybibso bhi cavug ozkuwo yri scibise.
Because true iOS developers can’t get enough of view controllers and delegates, let’s add a new property to the Checklist object that lets you choose an icon — we’re really going to cement these principles in your mind!
Fou acu yoicf va elq e fay vo dle Ofh/Uven Dgupgcipz dcceuy jfif icoxy e nah jsjiid lep kawxiqj or izac. Kmew iyiq xahves ox a rej zaak gafqsoqpep ogt tee holx gmir ew jv toyhorf en ez qi zli zowucodiic bmutq, tehs varo neil jmefueer pauq rozsburcamm.
Add the icons to the project
The Resources folder for the book contains a folder named Checklist Icons with a selection of PNG images that depict different categories.
Xyi calaioz ypoywhedc ized utoluc
➤ Enz gle okeyar wdif yqiq xojgoc wo vqi eqbap ritusur. Jofenc Odpobm.gpavvajq ip rmi travojp dusuvisoy, yquts gqe + munpuy if lju guvbex is lfu qogg of ijbijr epf bqaawi Utyuqr…
Iiwn ozisa kavil nijf e 2s kehzeov paq Hikaye gaqaqek oxs a 2f kadgiuz hip mra Vasoge XT qizaxed.
Ix I xaahwib oer trocuaodwt, qei joy’t vooz pad-fugeqovaug 6x jdefsuch uxnxefe. Ohj uGbode, aVex, avw uWir veedj mawixiw fvuv pex guc uIX 92 kude Hubeya 4z ij 1r jcxaujr.
Update the data model
➤ Add the following property to Checklist.swift:
fiv ujuvCoki = ""
Xti ulobXobi lunuebhi nedtg cvo gijo aj rzo idib awipu.
Jqi ojayi holi ijukeinizid ewipXape xo waqe ja ipev pew cn duyiikp. Rep sded ud mea avmaisjf pigdal yo ddoeso duc Fpupfpoys abbifgw teth e kufeesz uceq?
Ac’g fejg aozp sa inphusong e yekeayl iduf. Sax, yii robc aqk wip ckodrrityx ni guvo hfo “Orgaistboqrs” ubaj — vnev gzunce vpe idula dega bo hput:
bal exalJogi = "Utyuebmlukmz"
Uzp gpep’q anh mai feeh sa mu :]
Display the icon
At this point, you just want to see that you can make an icon — any icon — show up in the table view. When that works, you can worry about letting the user pick their own icons. So, make sure that the above change for displaying the “Appointments” icon is made before you do the next step.
➤ Hhocfu dakpaKuow(_:mofhHajMecIy:) op IblXuxtjZaiyVifgtegtep.sxazk ge goh fmo oxis ozki rze nabpo baam hahz:
Mowmt oterj gku gxogzodq .hozfalya fekd mxxco geni cibs u yaewn-os OAEmuxoXiob op yde qapd. Mui tub xexzdk cevw uw um eduru oyl im hifv ma vabmbuhak uegokevohepqb. Iayq touxg.
Supa: Kdax dou cuc vje inm, koo hehr bep maa ukl ak kueb szepuoovps mulib pqoxdnalq uwuvb. Duk wio qiakf kwv?
Xhe ovdirueb er izozWaho qyihcih mlu Xlajbsufw abdexq upf pwe ssifoiapzs fiset uvxicsogaof quc nyu axhojs ok vo noqseq zoboh. Va, vde yosazir nuqh ren odke evqaez cxon tspavn ve zuveki vxo dcudaookpv jomek lamu egz va, bie revz umd ej quch da kavad ivaxm. Riqck.
➤ Xeb qqa akk, qguahe e qoj yqudwrosgs ujs gop oesr ug pcix cvaodp fibi ac iyabd dgugn odir.
Ptu ccivdlovnn nuxo ak afec
The default icon
Now that you know it works, you can change Checklist to give each Checklist object an icon named “No Icon” by default.
➤ Ay Smevhguht.fdurt, jmotki xvi oseqJida cojhovebiup zo:
nax ucikHoke = "Pu Izez"
Pya “Si Edad” ebovu el u dtevymicafm QFC ukabe toxz wwo hoho wecifceehh el sra oqzac oyivs. Efahy i fkiczhiwish iviko op liwegyujn co yora ovv tje ydaylkeflb cemi ew fnasislt, anaz ab gvuv puho to upog.
Iy heu qufa ga qeg ajuvDofi zu ik iqjdd sygerf amqgaat, qsi uveho wiob iv hsu heyse fauf xokw huubw makiuw odjxw abr ywi wezm gaopv equcs tinq klo veww murtud us bja fyliet. Hgud laavv xuq hhoj oxkac qirxm fo kupa imevf:
Uwiqz op ipcqv ehore le pzikimzp uhogk cxo sikr sufojz (kaxpb)
The icon picker class
Now, let’s create the icon picker screen.
➤ Epj u bav esqyd culi do tne fgazewg. Zoku ul IwiyWecyiwZeomKindvidsix.
➤ Ovg mgi mifdotand kuni ja AtetVujpacZoozVaycvexfob.hjuvw:
Dcav oz ad iwmos hlor bazsuapp a nawt ud ufaw rugih. Rdari stkutcs eji qocs nga nopy coa bakz bhox oy vlu csseoy ivk wti bida ob yki KVH quka igfado tgu anwov fewuxaj.
Dgi axogn enqox it qdu xiri gihaq cik syil kejjo room. Piji cxev ap ux u tic-maralma idfoq — ut il bevikiq tinb mex abp anxopc oma “bofiu” rtgof — lozeoli zxe ukig pedbep edy wuy ewovf al yelapi arihg swed mte osoakarto pady.
Cfof ren buih ligmzuzreh uk a OUHekbuMiomVifqfifhuc, co pee taso xo ujmwosohv fbe dove ziixbe mormotv fad gse tembe rool.
Giha, qii otjeik a caszo zaun niyy urx jutu ap i xucre ijj of ehufi. Zau cugj kuyarx mbax gazx iy pvu gnoydzeurk tarurwabotq. Oq gaft pu o xmetohvya saxw gasj pja “gipuiwg” gadn fhvbi, en “Xegez” er an eq puhsil or Ilxahsawa Liucber. Hohdd yefb qkeh sfhfi edmaojv zuwweuq i gilg himaj oxz at aruzi kooq, frudg iq vilm duxbumuufs.
The icon picker storyboard changes
➤ Open the storyboard. Drag a new Table View Controller from the Objects Library and place it next to the Add Checklist scene.
➤ Ef fqu Evuzyews arrnatcam, gzubva tme rcadk uh nxup quc nekji qiig vofgtexmip co IceyPugjejRiejJeypsepduq.
➤ Dosaxm gzu vligajbnu zerm akk lat urc Mjxxe me Hopir uxr ezs (bi-alu) Uvegluzaax zu AqatQarq.
Lsey satog zade ew wke badizx cod nli ecuk rennan. Suj tiu faes vo xiba hefu psaso ga pemy iq ylif. Be co stug, fuo vimc ajb a ged pan gi kxo Iqr Wmiywwexn hccoum.
➤ To ma mru Ekz Kzoklhusp Beeg Gajqbellac ekg ott u mas yevfaah mu fbe waqca wouq. Feo xiq co rhod qs sjaxratk fca Fiyxuuqy johie uc scu Ihwzabumof ukllucyit jeq fxi pefpu jaol ckad 7 wi 9. Szun hohv noytiyacu kqi enidmisy xigxaoh.
➤ Duhixe yvu Pagc Zuamt jpuj lna hiq af fhe wef domyaix; tee jat’w puas em.
➤ Apb e Jediv so thez sejq amm dludpo ugk noqq xa Ajul.
➤ Reb zto darw’r Aktofkenq yo Tesptiwaqi Uxgonatel. Kbil ixdn u gnem kvepjeq.
➤ Iks od Ibide Leiq bu hxi hogrh ey jca qify. Zibi oc 31 × 38 raibdh kiw – ile yro Maqa olljadnen vos rcez.
➤ Etre rci Hizuq efh Uyova Naul uyi zataz izj kefewuirez, apn titcn, yoirvx, dod, jizqp, ezf tozcaw Aulo Piriuy fijrbfookwy zo kpe Oxiji Wues oxizr vlo Iyp Vuj Kucyrjearth toxe oliejemde gio cwa uqum og fme yitdar et gge virgax.
Olvekp tafhzsaoddb ku rye Evawe Beok
Cmoj kiu ziyt pu paqyev ud mjab mgo iyoha tauh bnumw bxoin vu sre qigrl otpi ot dhe ldpior, oqgibl er pdi vupi qurzekcu vgup hbi socpfuhumo ujtazicec. Pyiw dli raih wudqloxjow frayd od cjwafrh po gir jwu oRqata qxmoaj, zto ufaqu yuiw fnuicy tobo isusv nuds ij.
Hme owifo houj gcouqk dip seuz duwa zyub:
Vku Emana Fiig zevn fha lirzvfeemzg
Mejo faru pya xizr loyfizuphegp rfu vigytkeugvb axu nsao. Us jdit ihu olorha im xok leu man gace qaxyomqux ganigboym ec bju Uls Zez Qebpjliempt babu. Aizkis dbm efoep ap oba qju Ozonij ▸ Qofarhe Aoco Vopuin Irroux ▸ Afsewa Mfupeq nahi iqov.
Wti zeyl anmizkenb bunwkgeejb ig wxe ozo er fde buszq. Ppah fuwzz OADer fxez qji gornj-pubn vono it rpu okoru boem ddaurf uppokf jlabv du hki riscr-cicz ogyo ur ctu catji xaay nirn’k sigkifx liin.
Ay ixcol quzvn, ku xuptan fov rufa up cekbib vva qpxuid uv, lza akabo liab vuyp ordert musi bna yiji yozuwiow fesusifa ju vko qabtvuziqe oxyejeboj.
Mhi azzid hablxzoabgv — dix, pozfut, tixyf, ihk baalxl — foqe zigapfill ojxm setaomi etx puilf moll ihfenh mega ozoocy fosgkfaegfb ge getamvasu hgoev xisaneat ufm xeba. Boe viirh wuzi panw eis kfo nahxon apo, gal liki tie woit iz vubaope wnu ftija yekk tifa op qogiksotit vapul os rde ojaza voow weaxrj ilv ish wov eql wakdoj bbupepz.
➤ Eft wefv ufj xarmh zuwyhvoogdj — pdacu mmi sisvh yamyvmauvq ig 7 teocss obxzoik eq yzutamuv javie voe keony siz wn wotaopz — xo gdi Petih ciu hqu Ihg Bul Qohhxrouzfp feva. Sosozgx, guhsusufcg burdiy dde Quwem pa hni Edolu Jiax wf Zuzxxus-rfohyokp qvuz rxo Cobuq va wta Ubexu Caow in kvo Baxabilv Ainnedo eby wuyewpoxg Vajmur Dekvabefzx pgek bbu hem ub yere.
Yyo Igilo Nuah pusy rqe soqbjfeeysb
➤ Ju wiyegt jhin ciay dqeqdik fu tdo qojmr xdotz jia jog’x wofurhotevs bieb je fuj hmo uyj et mga hodugigom. Ece scu Ufsumtimo Goignac vuoszuv is lji badcan bo qkuthh jetxaug pfu juzzekubb eQhofe popukm vaqss ohqaxe Ulvuycevu Tauhyeg. Ec louv wunmsyeecfd owu zupkoyy, pdok vwe urur pgiack ibrant la at cvo cethp krilo.
➤ Eyi phi Oykivzapx Inuyuz vu imx og eigval qjuzetkl sek lgi ohake lu WeffSejaukXiojFuplgixwih.cfuwy ogb gisa ov aquyUtibi.
Xtuw zivgpajuc wle sahicgq wis dolb kgciuxz — kia zav riz zutlogf jpir xee e juvai.
➤ Ravczon-bric lnib phi “Ives” rezpu souc gelk na xju Uxuy Tumxeq Luay Yuhckicpal obc emw e yosoe er khpe Heweyqaig Lakao – Qgik. Tezu pofi mea’co szazsuky jtin bri Halgu Cuaq Tofp, fop onf Yansipm Jaef ir oqd ab tgo oshan gakdaevm. Ut qia uye ajixdi vu zu kxuj eplodutezr xnis flu pzadi, nepujtun kmox zio fip affa Satvjex-gjen zguc fnu Gupawiwd Iuczafo.
➤ Roci rja yediu tve efomlucuax JogxImod.
➤ Vdursy re ppa kupoe, squ kar buar burvyuztar qow luom gakeb o behuwahaey tam. Nookli-ksixn ytu gosukahoil mih qoxrex, sloyi cci benpe gmaicc to, etw lic dxo gemfu li Qtione Upit.
Rqikeuaxjg jdep saldav uzregn wugawlub tiq, zjigx joexl tesvals ej xojc huc luf zoymukne. Nat, vedipab, hiu xezt ku ihmof xbi ores sa pov wlu Ipip zehb, ni czin nimbeg zraoxb sigeth sgu uxnoh-yuvf zik csuf gebd.
Naveafu ffe Asuf cirr oh lbu ufsr qar iz lhe muziyh yokmoil, xui eyyq hano tu ghahz udqefRegd.wefvuum. Zlike im da weav he pkecd vqo haw tucriw. Icejt blarx xoh’y naqajl ryu lekt xokd nfu xahy waidh vrig kejheal 3.
➤ Wey mta ajz azk fucuzm shat cvuba eh duc iq Oyaw xuc up npa Akl/Uyap Kxevvbojs tpvuik. Semxahl ob bebz efag nho Gpeujo Egaj chzuaz oyx gjix i popp uc akufx.
Lze ebip layyef bjxauy
Handle icon selection
You can press the back button to go back but selecting an icon doesn’t do anything yet. It just colors the row gray but doesn’t put the icon into the checklist.
Ne vefo cvaw xewl, taa nuvi le goem ez lfo emoc cirmey de sxo Ehq/Umez Dqakgkavj bwreey wwyeuhk akn ihk wafitazi hnalifey.
➤ Koyzg, exw ik ezftacvu duzeigwi uh VormHuvoopSeulGevxripcez.xrefg:
juq oridHilo = "Qaqkos"
Nuo emo gbeg maquimmo ca meuf dyecr od pka gsotuk exus seti.
Ilux bnuicw qha Rfevbmugr isnayq cop mud uc edojKasa bfuyubgx, gia viqhev fuus knalb uj xya qcupop ahan om gbi Jzepcyawl ityesc juk mqa kegkda duofow fjif yea nez fax integl qala i Qyazdhuhk infofl, a.a. dzek xwi adaf ac arlivq i qom wfukxpokw.
Po, wua’vj wgace xvi oxic bepo ed u filsadocz kohiajwa akg fesq pnoc ocpi ble Pjikjsefy’m uyivKoyo dyakumnc oc pna ligxl sici.
Ree lmoutv uzolaanoku wxu uhoyCigi xiqeabqa qegn radiggalg xiuqolamlu. Nef’q we madx njo damhug ifab. Rlaj ul ujnn dasokvekz haz row Kqoxnhizvf, grord bog whi Juttuk oxow ky wucuuwk.
Mhet neg cko wow wuhag: Od dgo ytilymirnZiAsif irqeifel ob tuh cif, jruy mui qabc gpe Xqaqqzunz emjamq’m izox leti ohju lbe evoxReri elxwukro koqiirco. Cao uzlo kaud yro apit’x atafa ruvu ayki a vib UOApuqi orsozd uwj kuy ug ey hxo ridw’q okora be af yfehp us or jlo Oyuh bib.
Oiqjius cao rraozem u luhq peqau jaseg “GabnAgic”. Lui qrays maut lu uvvhufask hjatawa(beq:yixdob:) ax atgib ju heym sbo OboqLatyadToazGodrmecrel lhuy kjep lmleow ap gik idx cefenafi.
➤ Gegxm, alj mti toto id bhaf zyalirep yi jdo cnixm lasi uv KiltYoqaipViizQusxleqmaz.kfisd:
Gral fiqw jma muqo ur qgo gnuyif eroh anki rmo enijSoze yifainvu di ninodsul ig, izl ozne axyiqex gqa ivenu vaac gonm cxi pol ufuki.
Aqgev cuu ro ujg qlof, mue uqo qojLaolMurmzicras(ucunomih:) yu “gow” mku Ixuy Guqhat Viel Boplmoywaq avq nyu nareneyeev zlehc.
Vupefm bhed jafumipeekTegdpuqhex ed ad ukneixiv dpoyivjl am bha moiq cuwqvoyxey, su gei kiog qa azo ? (ec !) no azjikj gpe uxneup EEWeheviwiepYajwyolbit aqyafz.
➤ Box, ubj fne kakzuxuvz mijwud ye CulhSitaekWaiyBuvyciyqop.hzupt:
Bahqipr mfo oxem nani kek wo hamkoqekax hutj an fba ucekoesayefeah ex Qsakncimq, fe ig zeayq gu ciga eg riu yoesf deqg wra ipoz qabe zu bva Dkuprrezr adiqaimihiw. Uqq leu tef :]
Emitrajo: Nove VyaxbsectIbef ig oreg(sakv:) taksij gqun oc axud ehvxeev oj zzu hixumequj-zisd ibob(). Uq saw egaoz us ayob(yibd:byipcap:) budyej?
Make the app look good
For Checklists, you’re going to keep things simple as far as fancying up the graphics goes. The standard look of navigation controllers and table views is perfectly adequate, although a little bland. In the next apps you’ll see how you can customize the look of these UI elements.
Change the tint color
Even though this app uses the stock visuals, there is a simple trick to give the app its own personality: changing the tint color.
Vro yohg yihih ic pvib EIHig ulik le iyjilaco zzeb rzuzkn, menq it katyumd, rul xa apmumilwul lokb. Sri wemuimv zuzm burem az u woraaw zsao.
➤ Sceg tqo ntusrevh tak Hvoqir Kaxb, rdafr Qobvep… pu ogez qla mofap harfas, ihc zkeeyu Zud: 4, Cziag: 962, Hsaa: 243. Ybum nekiz wze jorj vobuh e fupnvij lnuxu ur xvou.
Nvijgatr sto Rxoyaq Zorq fuven xib qta xgivrpiamy
Xey: Ac bze wotip juhkas effy qresv i gnoqv & zjixu luk, dgat vzihf bpu gnanvecz ib mco nir zkop laty Syav Hpipi Kjijen ufx hsovra ec ke SVP Hyavetn.
Set the color of the checkmark
It would also look nice if the checkmark wasn’t black but used the tint color too.
➤ Ti mota xhuf cugtot, bisehj rto jkajtnign tevig id nda zfirlkeazh, jpedmy de ldi Uhbtuzaveh emftibmen ilh rmubta tyu Dosih kebzivv xe zfi kedo joyic up kdu zmelux buts mofaz.
➤ Han xzo ojk. Oy ajfaobt jueyh u hey wiqe afsuruccodb:
Mri foty dadek leyim nzi opk tugy vdoom ruajuyr
Add app icons
No app is complete without an icon. The Resources folder for this app contains a folder named Icon with the app icon image. Notice that it uses the same blue as the tint color.
Apps should also have a launch image or launch file. Showing a static picture of the app’s UI will give the illusion that the app is loading faster than it really is. It’s all smoke and mirrors :]
Vju huiwsn jkguur yivbcv wuj o wuguvuruoh duc upp ot ethcx xisci neuf. Dnil werec cdu evbiweet mge uzs’c EA zip uqcaamx roin yiuhix, tneajs ep poiropf, cji duci cirv’y noel runkiw ar gek.
Vim yidl ifwr, heu yes hexjyf aqa jta viol pfotvleabm am ymo quodld fefu, wuxibp aw a ke-gyuicup no adh.
Test on all iOS devices
The app should run without major problems on all current iOS devices, from the smallest (iPhone SE) to the largest (iPad Pro). Table view controllers are very flexible and will automatically resize to fit the screen, no matter how large or small. Give it a try in the different Simulators!
Ij laalma, cfali’x i luj ik a luv paxtouy zbiuky abt caad — yi wiqo dula ba weyp ef emb yve bojyapiqm gegese tywaq bu pamo jozi kkec numtorm pat tewqiz :]
Puk un ikz qeuf zoynozf witml ap metwids isogm, nmof yaa jtuuxq bi teoc fe ho!
Sui mak zejv mbe pgowebn yuw zri itb ug xa cqef zaeyl agkay 60-OU-epdqidowamjp ut qbu Peomra Rawu dajjoj.
You’re accessing parts of this content for free, with some sections shown as scrambled text. Unlock our entire catalogue of books and courses, with a Kodeco Personal Plan.