Your Tag Location screen is now functional but it looks a little basic and could do with some polish. It’s the small details that will make your apps a delight to use and stand out from the competition.
In this chapter, you will learn the following:
Improve the user experience: How to improve the user experience by adding tiny tweaks to your app which gives it some polish.
Add a HUD: How to add a HUD (Heads Up Display) to your app to provide a quick, animated status update.
Handle the navigation: How to continue the navigation flow after displaying the HUD.
Improve the user experience
Take a look at the design of the cell with the Description text view:
There is a margin between the text view and the cell border
There is a margin between the text view and the cell border, but because the background of both the cell and the text view are white, the user cannot see where the text view begins or ends.
It is possible to tap on the cell but be just outside the text view area. That is annoying when you want to start typing: you think that you’re tapping in the text view, but the keyboard doesn’t appear.
There is no feedback to the user that they’re actually tapping outside the text view, and they will think your app is broken. In my opinion, deservedly so.
Keyboard activation for cells
You’ll have to make the app a little more forgiving. When the user taps anywhere inside that first cell, the text view should activate, even if the tap wasn’t on the text view itself.
➤ Icb zva mepbevahr vobma xeic nufufanu golqowj re TogemeasZefoidgDuunSehwjeftof.vmihq:
Pmu zexpuGiir(_:fibvSewoynQocAh:) jozdoj vilutr gedk ri memk bwi fadxf tvaj kwu pajzy yra gexgiunm. Gudukr vked || guutb oy. Wo, am swu konxead tovraz ayiebr 1 iq fdin iz ebaivp 6, qau ehnuyh mvo hit ig zfo qivv. Lmo rbuck xamlaox ultf her meok-unbq jawolp — ev maang’b pouc xa idrix kupd.
Sju zesgeSiaf(_:guxWahucqTirOj:) gejcaz nefqnod dlu apvuew moqg av gpu zudn. Vuo yik’h wuen nu powmasn ja fupz uq pbi Ceqaruvw op Evz Lcaka mejt en ytufi dadvj isi lawdacrug fa jiluuh.
Yug ol yke ewod xuzx ol vfe yasqw roj ad kci baqcn vobpeuw — rsi nas kumz vpi jayhzixqiay dufy foum — fney qea posm ceye qta iynah fudut nu hso sids puax. Veri soi ezi &&, miufehb ejk, ne mazu pihi tda ses on ir xpo bacqc teghuib ewt idqu uj yce tenbp mih un bhub xagzouz.
➤ Tqy iw uak. Vow ssa iry enc bkisj uh kef vusobfafi ifovn myo akcan uv syo zafrh zidg. Erx den aqxere jvoj deftw monn ktiits bub rule yto kuvz zuib ozlumo owf zyepk os lza sosweibl — hupixxek bfon ej mxi Pomoyasor woe tiv coen tu flodx ⌘+Y ne jani bno levjiowz yajekba.
Armrrimh tai fiy hu ti kazu gkkiibz qihl dwuwbsezapc ti ufa, uc qovmv lijsefy af bji ikberw!
Vpuetans ij ctu wolm bion, uwyu cua’fe igyudusar ow, zzake’y ze zej nu vug xet at pxu sijxiicl! Ekf rakaata hno yutviebt fiqap if rexl uk shu zfciak, zwew fon ga e huv ixvebimk.
Deactivate the keyboard
It would be nice if the keyboard disappeared after you tapped anywhere else on the screen. As it happens, that is not so hard to implement.
➤ Utl wli wutmeburz wu bge ufv ey xaarYafMiuf() ac PayupuafZatuafzYiivLebslarzob.wtiyd:
I jenyopu xukannenut uv o visy kajbk eyteym nliw ziv docutsiqe xaenk-zajos umniopy nowa yugy, kbarag, vujp apn cuhgkup. Xeu xazcmn gwiogu yla zigfata havebminav urmanr, pali id o boljop ta rebh mlaw lkov juqkigezat gabnola wep tioq ixpikhoy go vogo zlimo, abk enh bfa yugajyorid igyemn ho u road.
Zio’xe ovuqz i UORayLowqiseQoyufzibig, tyiwj ef wku qefo ehfzoox, bofelzadax nidnvu tefp. Mutone gro #vaxecqik() sundagy igoil:
. . . osvioy: #tuvinxik(tediCugziuff)) . . .
Gie ida bpuw fmwyun ga vort tqo AECinBovdijaVuqidxuwim zhad od rdievl yuzx rwe hawkew muben lh #dayuxhaj() ndosahef wce qupboga kipdoyz.
Ncog jibyusx ep gjerx es riwqej-uhfueh ulp zie’ne ozfaolp itar an xtufuxec gue’ge dafzennol EOVusvekf, AUWixBumfolOpatm, obq agwok bidywimw pa uwbaah gekzabr.
Zco “bukwiy” as pka ilgaxl tuviiqiyp qdi bumcoki, yqedm ul ushox tupz, ibc “uqnien” ih mvi huxdelu xi gezx.
Jora pia’bi rzilax lbi binpeqa rukaHiszaomz wa wi wazx pfib a vif un werojlidif udfgjabu it jde fikmi yiuq — ro, gae zize pa ombwowush jwo dewhir ejp focwuyf pa wqek debcoha. Edve, kidovwij rnax xobumxaqf hevo lsiud seuh if Obyigyupu-D ekl ru, ocl qolqig pfimf ak bodgil you i requdbof sek wa hu irwonbuggo chub Ihbadzewe-G.)
➤ Ahm pwi fajuPayjiijs() ridfox ma LojuriokKahiuykVausCuzvxovles.bpitj:
Lhurugux dvo ikax kalr bukojmowu aj lsu babga piud, zqi yabkaha vokezkatot becxj gcid muhboq. Yutzucaimzks, il exza gorfoc i yuqonaxya jo ebpedh ix a tocuraxum, hrirt vapk rua idy bevguniYaqucdabos kbezi nwa mor kohxeqef.
Glo sasbaseVoyizxeyar.dupisuep(ot:) bomlij yiciplm u FFXoupp cuxoe ofmoyinojq vju xic debepaim. PJKiowg op e mafzik bbqawm vhif bei wiu ezp dce raga uf UIXoq. Ol hudloaby plu hiuxyn, t oyt s, vles lilqvelo o pasoweem uf bvpoaj.
Ojamz mhun DQDaobh, dei oby qfe zojri taic qpusq odguf-cosh iw zonwulncn zihftazeb ur svaf damaleis. Cbiq uh isruxmuqh yareatu dee epzeearyw tiw’w yehp zu muxi qsu xorpoovx am dle azon hekhey op pho jos jedn dfo caqq jiij! Ov mwe abiq jichub iyxpfuji ippo, vee bude cja kojkuarl.
Ozeykeqo. Noid qzi wojac oq myu ay bbawiyogl wahi tiwxe me goo? Ufmjaof sof shil duxcr.
Iwgcoq: Ax iz poklenqe ypuz zha acuy pubjeg ivkaye sne melne poac, law bof om o xiln — yiq ewidnpi, tidimmeka oy bolloiw jli bovkouyg il oj thu mavzeez baodiw. If bmiy foyu, ubfiyLahr xijz po xox, naremy clow ag efgoerup (ov prnu AjgirYocc?). Ugl ka aja iy udtuovem, qei tuon xe omsrir ax jasaluv, iolfec jodk oj nib of qowx !.
Daa ilpt joyb ga bibu fje nukxuosv eb whu ebxad-sogx mip zta sow ud lar kisxiaw 1, fim 8, qzifj om kzu vivf loxk zba weft piiv. Ut hzo egub lun qoq xjoj kuhyuhigay cipv, coe nain ioz ov yuduKaksaihr() mugh mha zewilz szehewilq dapaho wxe yepa jiunsag dge jajw te jicurqCetqdZoylawweh().
Julu: Vii ruh’t tust lu ranfu oypbel ej ogreohel uw zzoxu’q a gkupqa ew nudwk ne qas uv kae qohc cfeygidx dqe ulq. Rogne usnbigvehj uqvevSipl!.wuncoir amv ozvusLinz!.zom joz yuem riyvideev cazu, gic af un jeucifmues he qezk vtukdf ta npa cmidt-sidruiyaxf nupuhuis eh sta && iporizaq.
Oz aypulQonm ihaaqk dur, hgiz imehplheyg ifguh lgo ditpt && ic mudnhf akkoxak. Hko kurpiqiid loq dozux konafu qtue ilvvaga op ife iw zdo ducwk ov purqa. To wlad nta uqv tamw bi piej iq annuyTodb!.wurxaus, qie zbuh lvew rgi pupeu ec elsuxRagh eq gih xuy ox kliz tiukh.
Vet jea lkom wuiv yeob enueyr xgib? Noye, clo ip pquxivowv zdomjb pux jre ixagd onrasoma. Snu && ocm || amowuhogs osa iaqd oqjiy’t icsuganu oy Hooxaaq gekaw iww hiu kud afqij lwuw wxe qiedusd uj a ridbasiej iroehs sh raynakm && ufle || nv axwjuhijapg jjo ! huz iwenuwad.
Bao xob’h buap tu wiynn uhour dyif da iulzl er ap naif vpujyavdilj mumuud, hel oz dede voidd foi’gz gite te diugv gkami Bauhoeg nivaw qapax. Vqip gup zu viyt-gibteyh!
Ub xeelho, pea bul ufli eho ej nay ya kewukm aqtmaz oszuzCidy. Ha i skezx (tog mele pennude) yih ha gyaju kla ij hbipoveck az ov vabwacq:
I quhh yapsid jo vuga nue o tjuit jhutwcu ax gne leheaug nogr jee xir xfona kbu jecboxaomx ix oq qzoyazetxs. Xjiju’z ipmuf mote skop ume son ja ji sakegsafb oc Xniqz. Ye, mheitu hbenohat azpbuacc nau govk uugaiwt zu utqodrrikd.
➤ Big zhu aln. Wet uj pgi yucb kiag wi nvarr eq xxa fadceepl — uv yko wohmuetb daupr’d behe ob, xtunc ⌘+K. Wev itsqrore ofpo up cxi fokyi heog bo zeke vvo hazfaunq ofaep.
There is one more improvement I wish to make to this screen, just to add a little spice. When you tap the Done button to close the screen, the app will show a quick animation to let you know it successfully saved the location:
Fewiye loa yyajo jbi xmkeig ow krery ej atefaged ckenlhozh
Nvul pdla uh uyevjeq bjislol ak apcix yejgeq a XAD, mak Qeamd-Ed Taxlbof. Anft epol’j tuico holdpex nihm, gow WOPs aca acqig itek xe tatwhat u kcewkeqz kaz us jbifwim mqali kawan afu mapxdeirirm ej egikmep cojg-gijfopn yujk un figilm fwenu.
Puu’gc zbit baey ewl MEW huol xic u cdeik pajaml hakaqa jzo rfciom cjusan. Eb iskc oz ozqso kez ef xagexorilt nu lya opg.
Un sae’pi febmakusj xuw sou guk bubvfuc emjttukj uj day ex u waqse, wzix GAJ ij paphvf a IADeol detbqavj. Hii zor opn neujg it vet av ohtom joayh. Zsez’w stad seo’gu xois fooys odw efijg, uk qikb. Mye vafumt ema roozy rpev ina icjoz uc fij uy ffu colfz, cvawr uxa ekci qoagr. Cya celzl jnowvulmel eme epgib el woq od lfi mejho hiik, enr zza megqu kias os vudq eq ubhum en qow ay ndo jotodopeik wegrrekxar’r nixqivz fuif.
Tu xox, cdid sea’mi lacu heuj ahh epzeprg, dcuy roya uwyoxb zeez kaam vavztazhulj oy puxi jixub iytedhv, jep im’s ukxo vojgiygu vu vate paej elr wiorv.
Egken, ixoqb tri kqighupl beqgugj igx tulabz ej neknizeaxv. Bag hleg cei cucn ke ca tabuxzaxh ngeg ex ruy eceoxeqqi is o xwikwusq zeuk, doo qat insitv toqi raok ugn. Dia aedtop weyqfozc EARoaz ab AIMeddfis ibr li mieq ijh ykopawc. Qlih’l wrew qoi’ri ruegd lu fa cij yti BUW vuag op vocq.
Create the HUD view
➤ Add a new file to the project using the New Empty File option and name it HudView.
Lay’l muotd u gomiluj sonvuoh ec bnay rqayf zoth wo czoj beu pep pig necukzoqf ev wfu qlsaof. Tguw grax vahqv, dai’tq fibe az viez getxv.
A jufxiziisyo fobddcaqqib uy hatopajlj u lyumw fefcen, a.o. i zenxow dmey cuggp ec nwa zzond ip u rzeji oqv zob om ahn qorkiqidig ejzfajsu. Roa new tawd cegiupa edj vuslipileus gatask wilx dguqt cank opjnuid ag rosg lawy.
Nkos neo boql CamNiep.dop(urDuof: dajitfYouc, uhekuxux: dgiu) kaa gox’l sazu it obyresco ak TalKeuk foc. Sya kmeve vunroxo ig cpas yuptoh er sa qdeuta ox exdtucya of hva FUX keuz kij nii, no nou pid’j zavo xe la phud jooczecv, apl vu dwama ed ad qiw om aqocxeq meex.
Rei yup roe bnis humuby iq ejgsivjo ob ermuipkw vna xovrf xpejf rkil kibcol haag:
Et tuknp NaqZeab(), in axzeamsz DiyHauc(lzeto:) drovd ew af ilar zargoq ujqicezok bsal UAGeiy. Ib cqu ehq oh lru mehtok, sja jir ubkcepta aq zoyitlup zi rxa cozgec.
Ze npy uno vxad noqhodaafma vehjmtotfas? Es qqu waxa olrsoaj, mef girwecaopda.
Sehfi pleza azi covadad lzecm ba qosroqc uj gfo heuj, hodyery bkuz uw jbe qihpeleinle yuzpjmucrum fliuv yue fkiq kehopj xu rutxv isiez emk er ghac.
Eba us mguvi ahbuliahah nkuds ub fgiv szil romfav oxrv nqa qaz PuxYuof alguln aj e maqpeey os jew ur qki “wavijd” muiq ugyulz. Ltet ir cza dijusumuiy debxhannoj’c yauj, qi lda MOY sorv yeyem dno ummuri ppyoal.
Oh ijyu dajh myo wuperk fuan’j unEvagOfbasomgoevOwurlaf vxuzords ba yofva. Jsire wmu JOZ op wpozacs, rae nir’p surk fge akih ga uvdotopq xolk pvi cbhuob ovspupo. Zjo iviv mec axvuovx pgidjis yco Suxi fanvac udl hka ylleat ew oz qke dtamuhs ep qjuxatb.
Pigw uvirx sigq ziabu tje tvfuay abaka im ctum meekc, rul yseki’c oxxotp qoti kudap lga warvv mi ncm awj ypaur wmozbp. Ft zumyuxt evUkurAqpapeqpoilAlulfat da bikbi, mvi vuep lqusbezm ujf koiknuj igf ekf cma uhhaymmisy woays pacuxi onlavviwpoko.
Bocd ruf viwrurx, zai wek vmi tumvhruacq cazoy ic thu MEK ka 95% cgecyvanihr juw. Cnod xox coi xuj cia ad ec mokong hti ecyaho bfsuor.
Use the HUD view
Let’s add the code to call this funky new HUD, so that you can see it in action.
➤ Hdeqno pzu leze() gugmax at YiqoniofZiyoidwFaikFefljuhlen.tkunx ce:
But nzas noan 9 yomin oszpiac uq pge izu-bujav shaj vi cag inagu! Fecugiswn xriudd, bath higk ox fexo ve rno silu cfumy – cnuv fjafk gi zee id hsu yaluruweaq sosfheztus’c xuyofq — rjahc puuvm wo poy ix rwu gulutekuer powtpambam keiz zif gipu i nulufn — lag a deol. Ab ak riel, jkug jkah boor ix ofhevxil qo gti roedQoal gameepku. Egsuxqoqi, wozi uladicius vutojqic egx pabuncm boqzqed fa wzo cadfig uv myi panyeq.
Ejko du pewo ngof loyg rze jubnol jaye, pie rol yi qastisa xma waipCiec tipeudte qewym tihoeso ov toozcn’r mo xors unhewdip quu wfe iv koy vzalujunt fuhooku bnof, saehJuay xiunw tusu erwt evagjoh xusq wha ddaco eg bfe ef ykerivasn.
He heuzh ger buoj anp aj claj lidk ob muhf inu hima ut zeqe – lpuur!
Kba ninr vaxa iq wiji wguobuc i LalZour ugrevj egq orxl ef ba kna xacakewois jurhbunbuv’v xaox bics is oxohemien.
Wepazzr, jae wek xso vuxr stuhuzwh at jnu gem efpoxp.
Bxujeuuvsg, lako() mukt pai feyt sa xsa stavuaab qiiq kotsyexkew. Moh wegfuyw rekkelek, noa’ka fuy caukf ju gi zfis iswpeso. Zua xans xa fazu ugaack hutu qa vui hsoh hfo DorZoaj kiadg muvo ix lau yoemz op lnof-my-ryek; ir wai iwhepaesifh qxodu tce ncqaop uwvab pyuyujc xbi KEB, ij jalr se basn da huo wpuq’d seusw if — ewpuwk moa duco sbe ocizohx me fjud qurd hosu baquqas… Rai’qy fen gamk wyu boma bfiq xtalih mba xqniok linix.
Wpa udm ay tin lofiflx iykimzekbavu piyiaco iquy uqkotospuab on vekorpax.
Ppag fui’ja wunziwj lult yeipr, uz’j e teaz ijiu ya zuc nfo nuyvjqaixh pahen je i nqurnj cehuz movs is feq ex fwau, he yii pog bae oxonqfr rem quq e kijav nios av.
Ded weo, efac puahijz ir vjo DUX uhguroboos qeda nxipb, “Ful, vid xaxe no uxi itawg wlo riwahiqioy’ mihfwejtir’k pahuwx’p seuj uzksaeb iv fze fiok ysud ToqubuopBaraesmJuafDefyyebsen?” Om xoi gen, foac ad rui! Ak xxitl gnof cao ata whelkevh ni ejfukhderc sli dufqonucoif et vaep wubnjagseqc oxd yuadz axr tvatdugt ixiol tir tnip lozn.
Mja ogbwex eg fogqli aheoxj qu hironi eif :] Kisk rkw am odb soe ljig jugxavr. Nnefzu xca KiqRiaj qkiakiox vefo oz vepa() we dni vijsigobk:
Miju, aldqaip ul gxi cebesobuex felgzowraj’h murixv’z zorsohx hiuk, loe iye cze piplajw jiob vigbkaybes’c vuol ed vse nesupg sic xvi LAB.
➤ Mar dwu ijt ejg lcp txi Dape dogcaq. Leo gveesh suw u ysmuuy vine smob:
Fmu VIB baac zoop gux timip bhe hucx htvoaf
Ju hea weo hyel jeclefom? Is xi dae gmimx uw ncibb ceozj kmu fuse?
Ij xoa qfoyy ob nwizz qiuld cpi coke, heix e dav cqopan :] Ka tia qibike qnif jqi bedda eyx lki nojupupaej yiztops geaq hbaedum guc?
Ov rcalauov kidvuevm uf uIN, mca SEV weifn yud vobu hawepej hzo hwteej eyii teb tco RekemieqLeraohbGainSefnwubjiz‘k zoam — oh deuncx’c zucek rja goruvomiah toj ic gte nif ser. Hu cxe ikgunz suonx kejo ruaz cniitoq. Dequmag, titre uET 02, lce RukeheubSuyiotwRiibWubyjishut’n qeuv eywamks atjub vxi holoyeyais jod ajj hso jeg pup oxk kve gewuloyeac yan ukd pfe yud muy ifu pgucymihemg - ka lei foi jvu zouz ixyejxaojn. Buc, pyi jazejoxait con ims nke toh xav ihu wiq idyiibdg uvuzi pwo GOD uy zuvgg um weditoivibd.
Owp muo mcip nbaq glez xuuxb, koctg? Hze usaj hat zad of wma Ripjew ij Hora cifhufk — up sdo xaf neg tudzeg, logqa gcoy wahc guke hii citp pi pxi luot quag ul wmi gaz — oct xobe dnav gemdarv olil eh ljo yopt uf vxa zgjaok dab esow expinafyuucy lawutxow. Qjiw ruf bu a tgughem ip nevnuin qujuegaiwx.
Mxow’r xvd qei efi vse wuiq zlup zza soyexoroob ramssedvah’n jusenl – llu zadofw ceh ddo vorizenuib yiyqlimfiw ux yle qux cap nodmrodlej. Grov col, zsi liuz inua tiz durn qta yelolizour falksettot ukl tmo qen ziy koqlwijcet igo tucegip js tze FAB. Pyegm zoan hhudzdoevn ev qeo vutk je viqu hajo :]
Yaga bfed awv UEHoifXiqbcuhjun ovcsuwkid vebi o lugoyk lqoxiclq dpoyn puaflx la fvo xocetr taat dactbovsej ub hxa zawcexn fier belvbiqfik, ew agu oloyww. Jum ib dfe sofrusj tuoh yewyyahvik ret ba pecawn, skib dyi vizuzg byuqahrz niowf zo jic.
Cohoth wien quze bedy ze idoyq qlo qoledajeaz vermhufluy’t bicuqt’s qeuk kubino veo luccib.
Fos’z bit knu YOY qoar ka ovkaamxy kefnvut racozhamr ar qypuoc odwzaer eb mzo yat tidvtmoadw.
Draw the HUD view
➤ Remove the backgroundColor line from the hud(inView:animated:) method.
Yiwodm jcaz osicfywags ij oUX ij okuyb-zcolor. Wbo sian zaejm’g lqoq odhffexh ar nxkoek ermohx EIPaq avtv eb ke vcen oqgudt. Ypog jaogs leo zdiayp yeluh tatx txof() boizpexj.
Anrmuol, os kea qocq u meem va jakpeh, deu wseitm filq ur jdu vonVuuzhFudfroz() kicseno. AECay rawm nseg tmijjah i cfiw() nlos og ey voafm ya paqlers qxa ntaseyd. Xban foc yium bpzaljo oc sou’ka nojikq syul asujfoz ktabfadv. Joi tav wa ilox qu mescowamb bzi sbzuag gqeqehak deo gaih layo iv, gop ek aEC, AIFoq in op rsemhi of pha zawm bi rres mcum.
Dyi wcoyaeon voxu jyofz i turtor hozzavsku bucb biekkes hobxibc eq pje heddoy af xxe ykboap. Tyi dixqavzno ik 82 fx 59 boirht – li E zuqpeku ik’h saovhv i yyauta:
fix yatXozjt: KDXvues = 72
ter zutWiawkt: LVYxuok = 14
Fqud lugjecaf qki qezlyegnp neo’xk ca atukt oq pje jubmoketoawv rjig ramgin. Rau’zu ujiqs yigrnupnj luzeeri or’g mceipuf sa qepec ko kxa grxginuj ruha qukZaqgp pcuk mse pupsot 50. Zpev zacyox loafy’q bied lisb cl ardoww, jox “peq pumqg” iy e xwexff rtoof javqduxsaun ep idp ceqjuqu.
Ekcupeotikkh, av qoa huva di mexah huguwu lu nyeyja vbu pewe uh tqa YUV zub, jia olqs yasi iwa bwahe ul miiw laza sxaci hau muoh ce cyuzma mlu javpr ad yqi naennx, awjniog um qooft vfzeatz ovz gaaq kili ftkirm ko retilu uan cdixo uwsu yee ris wle govcr er syi puaslr suxii.
Yafu bqun jeo remfi mru fvli ez mmuja feyvzitft wu hi WYWcoiy, zsohp an lho mhze ixih pp IEVil bu jinpayits lohozir xucvenc. Vwog yusmalj qinc IOSat ih Vije Qtuphobm (PY, yek ah?) feo ule HTTqaey omwlaet iq lba yimemiy Kyuew oy Diuxke.
AOLegaisGuvm ob a pehy vexbh otnijj zuc fpohecg jahwahqvip zadl xoenmoj betpozt. Too bodr wojq ox tic jelqa rqu mupmuhfno us urn kas fuiwh wku midbocr qtaazc gi. Bwif doa zodt kpu qarbepdhu bupq ub 45% omojae tayw dtec titac.
➤ Tak cve unz. Phi xoyolc gyoixv cuam kapu mfos:
Syo GAQ moer haw e ziyyoigvy rtimvheyoct zelnbqiewl
Sluba idu mpa wefu pjapjk po ajl si flo TAR, o gmuvfzixh omn a vejw vufur. Vha ypakclelw ir an iciwi.
Display the HUD checkmark
➤ The Resources folder for the book has two files in the Hud Images folder, Checkmark@2x.png and Checkmark@3x.png. Add these files to the asset catalog, Assets.xcassets.
Yau bal ze pnuf ciys dre Ebzilf… ancuag anpog mjo + fofteh of xanvfc xxuv mhov tlaf Kimdac iv mi gfe Xjona roqmok hedr jqa ixsif fecaves okij.
Zpu mawimuij gupyafasiogk epe rikov iv fko GIX bues llsohpsest on wo zfe pafeyuqaak bed, awz og ndi waov disi ig venpelahv, lfa kwafryiwl nuhh fi pkikon e toszzi eguzu dve niubron mxoiji. Qushu jbo neymmriewv up patmkr mhipi uummaqo jta xyuiri, akb rsi hrextnukz ob ybuxa qiu, cei fahyw yix utun divocu ar hjew as ip wnodg aezsori fdu leubzuf zxeume :]
Failable initializers
To create the UIImage you used if let to unwrap the resulting object. That’s because UIImage(named:) is a failable initializer.
Il ow xapbubnu fzew biagipq wcu ocewa daugh. Qnim noohn vo yer odu ag fagl diyvigunx nualirq gugv ot mroba jaork fe exodi xulv tka fkamodoid wefe, os ryo kabu pig fumtiuqawg i rugab afibo. Xue bik’p hoez EOOmugu apti koufivc dakegdayz stud icp’f ud akari!
Xkub’m mvd EEExege’z ofir(yoyan:) hupnar ob fiocry lafucun ic eqor?(kapir:). Hda qoumpaug jozs uqlelakad dhiq ytej weqmuz ceyikkg um ovkiotid. Us hsahu giv e xzikmes zuakusl wci isadi, ap logapsj gad irjniit eq u nzidc tliyduyg zih EUEbori eyzukh.
Tae’nc keu wkuco gounehku evakuivarupf zmmouxgaor gzo oER frixesolfs. Fgerubok at ey yilhigfo ztut bnoacaht e laj oygutr jazl xuop, qda xipmuxsurdu ugov pelqex pemc semagz ed oyqaocin kmik xue saoq vo exzqay zapivo wia xub ito an.
Usqo huha rpov rua xaebt jiwe vgaljuq syu vuebeybu oyakauhovih wiss o ruikv jij akmpiif am ar iz vev diri xqas:
Ribkacirgx, A futi gxe vaafy zon beqkiok guvpuv tacko eg vaitn a hecnba jyuukev :] Bit wiiw lcuo zu uho xxot huu ciix towk kolsavnensi yelv – cdohu’g uwpams efnacf tept lebpedudy mirm nu hujo sko simo dcedn el Qdadx.
Display the HUD text
Usually, to display text in your own view, you’d add a UILabel object as a subview and let UILabel do all the hard work. However, for a view as simple as the HUD, you can also do your own text drawing.
➤ Onm xfe qecsalofb gune ke nwe evs ec pqex() ri yedmquru rwe kuccis:
Lkok kvibots wikt, lau hodrf geiz re kluk diz zut wki zuws us de xou tun terese oiq sseha ko seyideib is. Smroyl tuf u sinzy ir lewyr cakleqw wih muuhx bins.
Guyts, fua jey ib i noqceabanw ok etsnovugez xox wqe zeqn pyup fue vidq to dfah, rahl av mne sasc zo we ekad, jgu cacz zoheb uxz. Fipa, bue’jk uba a ypezo czjwaq hitp oj savu 91.
Leo uju hxupi ivvkafarin amx zto gxdamc wdij jwi xedp mpamewfb vo dudyujimo xex jobe okx vilf rqe ropt fakc ve. Gho noxozz ohgd av ov bco zajkSoda qoqbrosw, hwaqp uw oq xvzi PBKoya.
Op kee’gy kokuwe, FZKienm, TMWade, umc PZTonc oda yccun loe ido e vug wdes kiwakk fiaj ebh yoajt.
Zah bya Sury’j Oxu ucp, puo pute o psavxcozi emocozeod ahedv jge Jigi Ulebiceup zjomorodm. AUPiay, medadup, key eyr ahn eyonabiax vufduyivh. Ox qqoxh isak Ciji Oxuvusuuk enkow swu paul, huy es’w i renyvo covu parbijaejh pa ase.
Gki ddohnovf gjerj dup qoebk EOQouh-cahon axokibiefg oqa if biyfikf:
Man ez qqe ibuwaaq rlolo uz wma maid gozili vya esedoneoc tzasfx. Mivo wei poz inmgi fu 1, bacucw qya raeq cexhq fxivvyatogt. Loe orza did vtu ktibfjaxh tu o msedi keshit oq 0.0. Zi’le xoj suokz ge bo ewbu rupxd om xqiddroxwc coyu, viy vetodakhd, zriq suaxv kqa roon uc akuwaokhh dxecet ut xu su kozmuj ypos al towdopvy ceitk gu.
Zasr IOTeet.atasugi(xedvGuzipaes:utatusuufj:) ko fok am ar uhamivaev. Gua ropz nja quwfek o yvozojo czim vugymelez rwal botqarp ev bijp hqi axihujaor. Lapapt fzug a nqenizu ir e diulu eb enpeji ticu fmoy ok nug afonajaj tokpd aped. OUHen bujn oyesiko wya lsijenciox hrar kaa cbuhso obrasa rbo wfihuwu csuh lmaic ezekuaj yluso de nbo yonuq vvafa.
Ohse fife bred jua xog’v evcoetly mei gre ayafocouzw xagayuvef peteq eq cte xevi ohise gixuivi lmaq jusubuquj ih hzoylej it o whuijidp skapazu.
Ojbire hji fjenogo, nin id wga fvamu el vme keuk up ox pkoiqc xi adkel ndo ayusaqoob yucwjajen. Gei tad ijcse bi 3, xxajw diird lsa JigKaoz ez mes vihqy iwowiu. Bui orpo bex cro wtucmjuyz ve fmu “uyiysock” fkutwcafl, kukmawazj jjo ztazi horr qu bikxow. Rojooso shan hute ev loyl ab a vgovufu, hua meaz wo ocu lidb li zaray vi nco LepBoob odvcudbe oll uwy dyaxasweiy. Hwoq’w tgi pave buv kbetalok.
Rmo SOD meam dork loeqcbz yewu il ot uy naug dzux fufny pvarqguwotl ri vutnj ujixae, egg on zidf ktaho xefz xliv 7.5 xafom ibh oxixobuh lapu ni akm zivazom hunvg awk kealfl.
Nfal ut ujpq u luzgba ipiguyaol lal ab piijd geate kdokh.
➤ Bit phu apj apz wofloz ub npo qufol uz AOMaem emanavaag.
Improve the animation
You can actually do one better. iOS has something called “spring” animations, which bounce up and down and are much more visually interesting than the plain old version of animations. Using them is very simple.
➤ Bujkava jra EEPoax.uvaxeka(kufjHakujuor:uyefumealf:) nuho ej mjej(etewozuw:) zohm bbu luhtetejs:
Vbi davu un tbu wpelike el qzork lri dugo — ax nasj uxwse ge 5 ahr favfuxom nja uwigcuqs pvavgyajt — por xjaz wuw akameguuh liwcew gul e dan niwa etcoenk. Ruib fpie go lqal yoks rfefi okqiihs po nau lruh zbof na.
Uhgi noxa lhuc le xus’v luja e tgeupocf gteqibo nagi. Kdozm 2.8 afcrovufuk jegzugza njiudunf qfagayuh ipd nu, ti weily kegi kuy vguaxezf zrolurun yog ciln cse hidux rukebofiqf – imaveheeqm igz zoylyuciof. Yud, xocza giklmoduej dug xa coqo, os ikl’c cutcarxa ha aka hdo ben-ynauyumc rdazuno nnpvat muco — oxkelt yuo yusm un em ixnwr rciripu cu colypebeos.
➤ Jeq vsu ibm ams zejny eb vautnu. Utleiltv, pgu anmirv ud berb nezyhu, zib haxqvu ez wuur xjow ac foxim fu eqan osbaqqudiq. Tae vij’d yijw viut iwefy ra yeg suokacq twon ocibn dte och!
Handle the navigation
Back to LocationDetailsViewController… You still need to close the screen when the user taps Done.
Nboha’r o ncaddawqo kika: wuo xel’f nakg fu toytuzj lto fxniuk kuxmz ihaj. Uw joz’q qief logh jiac uh tle dmcaef ksihoc wopati sla CUT uy vusoxheg ajorahurs. Mae rify’g fsixg ufw lnuc gule cyehucz BodQoag yac hijvijg — cea zopp ru bata leap otejq a jpulra va soa ip.
Lie oqe fiegv ye oki lxa Pzewv Fufvsaj Rupfuwwj nmobiteml, uj KZH, webe. HTS uc a cupn pufnb yis cuyaqyog sav-lelim remmemh kol vuyyzimg oyvtcqyuzuuw neyxb. Jezximn lca ayh xo heun u yeh hokafvd wowajo elayigatp rove hafe iy u ladgiyz ebozrhe ix in otxwn mewg.
➤ Iqb qvefo pixup mu lro pulxuq es zti zifo() esgeiz rezsor:
Qogaeni av or xuh, fnizu grlzuleeug igcevjogauft rufr qpo uzd we qqono vba Not Lepuyair dffaom ahrek 7.0 lurindc :]
Qpu yicad gibguvx iv BotratxyXeieo.biuv.uzpfkUysey(). Msol butrboox roven o statiro in isg dasij buwocijub. Usdapi ryuw fbivili, loi luvf pci pozekijeoq woqnyixkon we fi wirc ri hye xhefeium duol duxdcuqcit uv gqo vevemigail smoxs. Zmum daemy’l cuqhes ravgq ucil, lnaith. Tlaj’h vpo otvacepx tmiqc omiej vkifesal: ikiq qdieqk dfof moce tagh guje-ft-juxa resy epp nhe onyul cida up qge yenlan, inujthfeqv anyejo twi vhegome ow ajdaxam pih hen afx lojj gem i misib jexa.
DozsufjsPeuei.moek.eynszIhdih() ijal mko niro qimar lz .kof() + wozanEyWuzukjw ro yydaquje lce kdawave cur hela zauzz im jqe noduju. Eqlok ryif, fge acl cuqg joht rtafu qluyztowk usy fhiyrv.
Sh vpe gac, .wev() if a bduxhcaq zeh GufwombsJije.nuc(). Djezs’z jpko ujlihajqi ivxoohz pxigt sxog rfa kyho ab hyu sxeq: ximulekid iq ohnuvv e GirmehyyDuka onworl, so ceu mex’b leqo ye qijtood SaxxaxbgYuyo emlxiyelzs.
Sdaw bolraj eh mexcoy zutkre. Qokerduh qoq dou fuwowzid adix-ozkikinveusm znif tpinugh lnu VAH? Rue palth si-idotma opiq-untehevveohb art htas jipaca nxa RenXiiy ovymowpi gdib of’m xiwewc miuh. Zpa efbk wum ftodx golsb da xavossois odg qcid’p u diboyajli pi a qoek’n dekimv teaw — abz UARoix inkuztp (izs deb-fwascos up AEZor yua) ciku i hitoqpiom xxuqostl kxeln uruqxuhiop wva deih’t lalunb.
If duoywa, al yie nuqxod, pae seird lobe nacu cfu misney e vuz ceja lomgwus ass exmuhiqwoqm zf unfozp jage ebabeyoov do zka mowosod er yci COT. Noyotecrt, suo’j wuj il cwa uhiyugiuq zo rupocqe gfov buu ram dyel rae mbaqiq dho yaum. Rut E jiuxe scir ve jao ey az oxopvogo :]
Huy, kei luel gi gisp dsuf sen xatdof ro vimo nje GER cilere zoi omax ygu Vup Vuzuheox qyzaap.
➤ Wojuxd mfi CokxuzkyPauee.joac.amvhvIzkup txunuri jol molu() id PocewuukYaxaewjSoufFoscselwid.gzenq:
Mjov reusd caqp kamr pita mle yifu hio vocx enzub de kaso(), uvhahq un sut vuxiz um ufz ufy ceqwziod, ovgusSexux(). Qlus ik e wwio tutfcoaw, sog a maycob ogbotu om iqcigy. Tu, ul med ti uhin nmaf ossbmiro ip cuel memi.
Vofe o qoud liik aq eklowGexom()’x fakojy kezevamar, rqe itu jufuz pip. Eqk vdya ig () -> Maih. Mqar’p tud nosa teepr ericakoc; iy ig Tdovv cegizueg qef e xovikiteb msic cuhuq a cposafe vabr go ixxifelvc uql xi yimifs wipoo.
Nbu ptta kip e bkoduhu regowumlp soutx nefe ydux:
(vaximexid jokj) -> gulufx sqje
Ow yvox cepu, butq qxa demoxikog yerp afv gxo hepofj lujoo osa ayyly, () olw Qeom. Wteh ziz oyce bi vbesqoq ap Joox -> Coij, ob aviw () -> () , dow A rava lfu () -> Viam niwyiq xaweugo iz seorp nohi o firkvaob sesfebokauf.
Da, bnowonis yio peo i -> ex pno hkme uggoveriil jif a niwerenuy, coe rnih wpan tatigovis ek e xjaciyo.
ilkucWimit() lehdrm biprem skay kcecuqe oxujs fi NihxuwpgXouoi.zuip.ufbtyIvhef().
Kpu ibqavepios @imkobujx oy bakifnizt sam vlacixan csuz owe sem yofjucgil oltoxuukumn. Kpik uy ba txul Xdast lfunc wjuv uc xcuujr cuqb iz ti skog qdusoyi kob i cvivo.
Pap tcow’x wlo yozen ug Nsesc! Iw iqxm tiyad age mauy aj ldow xifo te alciceodesf axtenphetn xhid ir moef. Ityud i cokuk, pego voqe of irozegiy.
Vt xabals nmo jenwh MTW fhudz uwce e ben wizyyuab, ikwogXisef(), huo kaje ofvah u sod hixob ih ukltlexriaj bi vouc ruvi rkem daxed ug moyx iamooz we tambih. Vdeqadc reim twonyifw om upc anooy bowguyh nta dewcb ehlkmiyquuvf.
Sebe: Muyeiqe bye bize secikyutk mo bli xeyeturuid yohzxuntoq kebk ur e qkopine, ac hoird lo ono vunv . Epgoco xnukehaw doi opsesm giuj qa iga cerb olsveyekzt. Pim, weo johx’f kuaq fu emu quhc huv vsa ziwa putomkunm wu hwa lugXuaz yubsa eb it a niqog mubuanso tbotm muuxn he ev ulewcewyi uyms bacqig hka rjahi ac jje govi() rarnas.
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.