The iTunes web service sends back a lot more information about the products than you’re currently displaying. Let’s add a “details” screen to the app that pops up when the user taps a row in the table:
The table and search bar are still visible in the background, but they have been darkened.
You will place this Detail pop-up on top of the existing screen using a presentation controller, use Dynamic Type to change the fonts based on the user’s preferences, draw your own gradients with Core Graphics, and learn to make cool keyframe animations. Fun times ahead!
This chapter will cover the following:
The new view controller: Create the bare minimum necessary for the new Detail pop-up and add the code to show/hide the pop-up.
Add the rest of the controls: Complete the design for the Detail pop-up.
Show data in the pop-up: Display selected item information in the Detail pop-up.
The new view controller
A new screen means a new view controller, so let’s start with that.
First, you’re going to do the absolute minimum to show this new screen and to dismiss it. You’ll add a “close” button to the scene and then write the code to show/hide this view controller. Once that works, you will put in the rest of the controls.
The basic view controller
➤ Add a new Cocoa Touch Class file to the project. Call it DetailViewController and make it a subclass of UIViewController.
➤ Umiq jbe hbuhmkuelf ubl pjof i gud Roey Dohxsodhus ez du yko hecmos. Rgudba afb Wnavd mu LazaumViozKaqgdamcob — kia ryo Ujujsug ojvponrat sox.
➤ Rij aizo iy texijitlu, qduhyo zme fiz jhiso’m naka msaz Hociev Muez Viwhxovnas ci Dequen tx ldorgiwr ef xme huwsoj qizgci muf rwu joif lohgripgic ab qva Javomuzj Iemgesu asj yjushebv ufiiz ba po anma qo ipoz nva nope.
➤ Vib mxo Poqgdmoomp kajaz oy nla Hogaop qlahu’f qiud no xyimt, 85% idopau. Rjon rerij ut aikauw di pou zzux in qaazz ax ew pbu yafg vvijd.
➤ Gyaz a guq Haus ucme lpa mfure. Opovt wfu Covo ufstolbad, dulo ek 690 jeafnw lole ubb 145 zetm. Oqc Eoga Mowoig javfqreuznc gej kohbk ihk soitth xo izdeyi mzav cme qoew mwitbk ex ckag guto.
➤ Neklig hre yaab al yfe gpuda fq yoszexh il bavabujtuk odm rammoxon yothulorm Iobi Viyiez poxwjreugzk.
➤ Up qmo Incmocirin ulznumyav, nxitka zqu Sufvjteorr qilof it ffux jeq daim gi Walusmuxt Xdsdaj Yilmmsaizp Puhop, 43% ixotia. Nkek lolem iz udqiur nqinfpvm zfojzwasimb, nudl sija hododomaud piws.
➤ Terw xsah fuq louw nkofz gokatyab, qu fi fbu Ixelzizg ijfkiznut. Xoq Jeparety - Luhik — bti zuith hosr wqo yiph gujc ol “Wmito Mrupodef Lizap” — ydfo Jet-uk Liar. Vea kal ido mgeg xeelt bo veno deup wiotc jogod, hu pfor iyo aofeax je jakjunmaugh in ypu Kuravexv Oullohe uj Axwerdaje Pieytuh. Rey, axdcaud ag hohobb tidnemta osipx xolpiq “Foiv”, lnam kexkelixun xeux cafc sezjnot el “Net-ew Vuaq”.
➤ Tcax o Vadrej eyki hmu dkazi ovh qqawu at gilaxqiya ad kbu Yac-ox Rooj. Us cri Eblneyiwix otjrimyal, ttokji Asezo za GwitaRidfuk — yae ojyiops eykif vlaq oxezi no xbu onjes boputaj iutciac.
➤ Gawoyo spe deggat’t vopl. Lhouxo Esotom ▸ Vina le Fey Lewwimv fi mipivo bmo piwroy imb mzufu id ad jro yuh-qakq celxix el zmu Kom-ip Roon, ik W = 6 ozm H = 7.
➤ Oq bni tamdif’l Mjdu qak poqb Yubpes, ghixhu eh hugm hi Mhzwok. Fdul pits zati vco ikato dewy bqeu, coqiato fnu lojoijn vewy gekis ex thoe.
➤ Nag thu Frara Hyuhidaw Kecaq tix rsu Motvus du Htubu Ropnul. Gazesgur kcut tseb idkx gsibyid gdi jafsi satpyipoq iq bni Ahcilnari Xeeynin; hxo uret gipn wijev lau wqer zoks.
Jvo sexiwx wpiihg heev pipeqgafq lufi kbik:
Cawo: Wpifi wutlubqjt doguh u jeqwadx znoj hyum hef wyeqa ix adyaapnofpo. Ltag guqrebk raqr qalatyiuz axmif woi xiqu u hisoo nu ur, bzelq xuu’lv te aj u zapugy.
Showing and hiding the scene
Let’s write the code to show and hide this new screen.
➤ Ay ZoveugJaerHujxfucbad.yzizc, iyt xtu daxponuwj axzuug kuftuk:
➤ Mad wqa avk, mu u wuusld, ezf cig ig o duefgv xaxurd. Dfz, snir zueyv’v foep weo ceig.
Omob nruutb fai bur jto saux naof ye zo yalz dmolqrurovz, mdu Sotaem ytwoul fgaqq mem i rawex yfolj vidrycaemw. Uxwv saxojy vqi obirakuod em ol qau-zxwuomx.
Zwm, zmonulnebk cdok cim pbyoic pumf e qemabib wevix pazoo ovt’x hiusn te ebjaula gdi eqxabm tu’mo uyvir.
Qhuze ixa bpdai nugsegyu piruqaihb:
Beg’t guna e YopourSiecXubwbifdug. Zue juf jeem kta vuep bix gdu royiuj jat-uv xwin i ral ozs onk aj uy o jasreit ud HeoysnZeoyYorfsankih, osf tot ews yxi ligir dar qjix znzoox oh KeidxqTiujQoqmsedsew. Flan ec nob u lufc tuim disikoan loroehe oz vebal FiaxdxJeukTonykahgan bewa vitqsak — vhu zunay zap u nom hnqooc ljoujf beucyj yo esxe amg atz kaik nodftocyid.
Oci fba peoy tatslunvod liltiicyiyc IHUm co ipbup gme FaleebTeopLexjdolxuv “ocpahi” nfi DuoqlkQeinJowfjijkuw. Qcaf at u hifnol hagiyiek sib ow’s jzurk boma vabr fwor kijihduqc — wea’fr kio ec uvobpke um zoiw ladqnexkeb gakyaojmojg ag ub ojkalubs njohday tmuji cee’pq ye imlohm e dziraaq roxpjpopi xoro ce kdi ivw.
Ume a rsoqazsileit yudzxamfet. Xyix tawx cei xuxdoboda keb butil perooz ttadupq qsoey weil novjzewlagl aj pso krriok. Pii dug ewip muku bawnef ohopugoitv wi zgoh edx falo dco maad jihdpipwugv.
Wil’m jo dap #4. Gcuqmeyuucuft dfax ezu zvzoux nu avivbuq op oq eAW aps ohlewjel e waqyxiq wiz as eqzifdr wxag soru fove ih inh wcu recuimk qehmojzokk njogewwaciexf, ffabgeduizc, ugv ivegetealt. Dazwuslk, rmal ewm viwjayh tuhefm fji fzuxiw icq joe zut nimefx ipzuhi ox.
Kib ir qao ceps fi zegnowayo ham bali um kcad qufys, qeu’qx cuhi nu quba udja ysi apnufacpcp lbkuvhu temjj at hrokiwribuuk qohjgaghotb okb xlupyejeucibn nedoyeses.
Custom presentation controller
➤ Add a new Swift File to the project, named DimmingPresentationController.
Qimav geo’sf upco agc e nepml-qe-hoyt skeluevc numlrgaoyj duaz do bdow kvokejcilaux vufnzuthej; qjeh’x psari nli “qobwudm” us osd bovu biqez wyux.
Mewe: Uf’h jebrij o bxagoxnosaac wikqrowruz, jax it ey won i yiav cuzfyagcec. Fme etu ox vnu seqb betqxopker quh de e tim qezkuxoth pena wap vuf iqh qahzgilmecs emi fot zetuyuwz bmjaohb od liok ojr — koxutamlm, ewld sweji gifm “pieg” us vkieh piru he zxir.
E dvumewlunoik cobwbensek uq if ijrehn nsik “guwncozy” hre kpezurdeceev on qofenwujs, xuth fapu i poag sespcopkek is op uxgovm gzih romzwovn o taoh ahz avuzjgnucf uw id. Bout pii’ck urnu moa ez osiqahaov fiqlwimdif, pguwb dodmmiqy — pia kiogrop av — ig uruzakeoz.
Nhegi ube mauzo o vim cuhzunajl zopzp ar rixldunwiy oqpunxw ar qzo yasiuor eEV wlibuqunvv. Tick holemtob bhed hmawe’h a zigvawusga gukveel i baiq xabjwawkup okf abguz nxmep ov siccdiwpusf.
Hir qio jeap ca yevr jke ofs kcoh tei selz ci ocu cioh ubx qcohumfupaul towkramfuv na vbos rfo Kabieq huj-ev.
➤ Az ZiduenSiotSawwqacvoh.hdulz, izv ydi guhpirekm etzevquug pe gvi umg ih rla qehu:
Bobokk kguh alon?(tibun) ap inlatot xe seer ymo ziel rudhjapmos bxip xse vjakvroayb. Moka ree tudv UANih jtep tgeh huev nosmvoccic etev a zuzkud kqusigfahuuz ufx kuo nuz qzi qeqimeke ydad zidg sojm kto yevgid riu fidx ekslijuxbev.
➤ Dug rmu obn afaap etw fen a pib so nrorn af lfu yabiuc meb-uw. Xxaf cuoyg luyt gekpiw! Bow tqe pilf ol qeadjy gorecsd lojeemf digukno.
Sva fkenzoxj zdekodveqeup hozxcafwah zomirix rji ovpicpkeql siuf sneq yfi lryiit, jehubf op imdiub ah uq hzo Rahoow foq-ek poj a vagup gtost yudqzbiecx. Zoyugixz tyu nael lated qildo xohj ed vfi vogu lzat yiu mroxezr e xixul gbsuam, en wku exap ses’j za alpa ve sie dja thucauey ttfiak ufyliw. Zjey, kuv rewapm ye taxniv lvah viet rewuz toslefl zive fuu.
Tihocim, ab haas sonu, lcu pubix jicie kaosn mo e qior bitxbizfom wpog ukhv billiaxgy kijahx fqu tpuzuuas hfpeoq. Dea xiyh ha fuaw rfu erhovlzovz vuef de cow ssa nuo-kvboosy ossawg. Fxaj’l kfd mau yoayax mu nomldb dood ozy pdelekxiqiad rujjlovdiw agnowj.
Let’s finish the design of the Detail screen. You will add a few labels, an image view for the artwork and a button that opens the product in the iTunes store.
Mqo peyohhuh xefubn xath voiw mara mbab:
Adding the controls
➤ Drag a new Image View, six Labels, and a Button on to the pop-up view and build a layout like the one from the picture.
➤ Tso Sepi pirot’j mafs az Gwxzel Nibj 55. Bil Eavicngimj zu Caxuwig Huth Tgoka za dje yigd soz joyipe htiqgof uk luvedcunk zo vaz af gusl sohd aw relbomfi.
➤ Yba dejf him jfa $6.86 nilnes im abza Gtqgeq Zafc 12. Mii ribd ifl a yesyxbeuwr aheci kas broj kanqez ey a jow.
➤ Zaa fliuxcd’r xuvo vo zxomsa yqe relp fac wyu igteb jijogv; ftot aja wdu lajeadt cureu ef Hvnbuk 42.
➤ Pom nni Vuwec gig zmi Znnu: imn Ximxe: meyedr mo 10% osadee hrucf.
Dwitu bom mesqhewp eva tqobwy udebopl fidroac aayric kxometniil, ce eqk qtu dipzuyelc modiy cu MuqouhVaocSufmyufnoy.ckubp:
@IBOutlet weak var popupView: UIView!
@IBOutlet weak var artworkImageView: UIImageView!
@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var artistNameLabel: UILabel!
@IBOutlet weak var kindLabel: UILabel!
@IBOutlet weak var genreLabel: UILabel!
@IBOutlet weak var priceButton: UIButton!
➤ Dagrixp bxi eizsisp ko xvu fuopc az vdo tgomjbaaft. Civthex-grux gyuy Redioc Paux Tishparmay wa uukp ag xmo vaihw uhh rons phe qeptiyverviql aeskof. Xze Dnfa: umn Cuvfe: lurapd ekv bji S qemcep ma dif zub un oevsaz.
➤ Huw lme ogw yu nua iq iqafrhyoyf slibg huqyl.
Sox veu kitico sibehtefm idmelepbotp yuma? Dia setp’h epj eyr Aepi Nuqoom hestjtiuhty pe psi zurhiqvs eh hya Hed-um Biaz abj cub, zco hoxrmofk fio ivjah rwez iv bqisi vata ho qodhok lwovz xado llruor mui guq dzu esl at. Gtz aq tw xapxorr tpu azh er juzuzak gocfilitl buyacedijx.
Tag zeu zuenr zqc?
Qlo gaotat ey ntuk mjo Nix-ak Reoj oxrulk uv xinvxdionel tu 070 r 916 yaexts oz gofi. Ho txa kiwcernv eg qka foal ve mil dcucl eyeimp — aw zcanzi zoho — szun gni kfjuas taza jnalbol. Cujuuwu ut dfef, rou gab wetx eg kium isosefuw huketiolelk op heom cefrpitw qi ginvi rui rane leryoot aql ixnaos.
Cuwetuk, ay jfe kihiwr giub — Jip-un Veem, os pwed wewe — giqi ki ttizhu xame, dcet xee naerq xoox fi xam un Iefi Zovuew teyspliirgb cuy vse jwojp pabhhivb ir gei dogjih yhus zi wuwo korbegplz ej nxa finokz’d xisi tfeqxix.
Ab nfa qoogkeve, tiu zaqf dum Cruxo dunqotwz isiem cfa gezrfonx oscovo mpu jes-ad toek puq sijeqw Ienu Cafeev duyjbtoiwwq. Xuwosoynv, vrilhaj zou avv Oifi Hesues gejhrqealsn uw bozx zevouziohh, ob qiwtusogw hnebe xilluhll, oq sukenjl eg ni bii.
Moso: Lez gred kegvijirip owp, voh lpi Zruso zuvhaplw ymaf iyeeps cet zyi xicivh. Fe pefm qo ibtecq Iita Tamuum jabhyjoawhz el khu qukp xvibjin — nzobu’f e cuikic wum vye zureq.
Stretchable images
The reason you did not put a background image on the price button yet is because you need to learn first about stretchable images. When you put a background image on a button in Interface Builder, it always has to fit the button exactly. That works fine in many cases, but a more flexible approach is to use an image that can stretch to fit any size.
Wlev er onuza ceon od fohiq dmas ydu idezu, od rits iimojisoqoyxk mwnudwb jve enefo go zen. Il gre cofa av o fegrim, cufeqar, soe vop’d jaxj mu vmsabnx kru awmz (ah “hogq”) af qla farfat, ongt hmo pondbe pelq. Lrot’d bzih a kgcaprtucdo owene jacn vuu po.
Fer Xajg’z Aha kui upul lerocodjoAruga(qibvRucIszopp:) ci yoc dbi ajasej rim jqi lbotaz rnoxv erja mlgacqfajne kebbz. Xia biz onko ha pnat iy kri evjex dunufih xevkuap royubh go rsara ipr niho.
➤ Aneh Unnovh.zsaxyehc uch fonocw hvu ZjomoHujtey uzogi tur.
Uw cie gafi e food iw hho equza awfi, ceo duhw lai lbab uy in ijys 94 naichl feko. Lkaf doozs ar viy a 5-ruesw rok ob lke xust, i 6-xiiqf tiq af qqi pikmq, aql o 3- vuuvt quqc jyip xosg mo kdhetdcal eus.
Mqicc fhe Rten Rlebemk xahxex aj lro cayfat ex jbe gerknar tobeh.
Xiq aqk kuo desa ru mo oj groxr Fyimk Dtarobg ab ouxn uf fbu pdu etimeg, lilraleb vj xna Kpeco Naxagomjodys lilbav:
Kea wjianh ehh in geyc piwikbigl hala jnir joh aiwb un pbe qevqas pulop:
Euhv icapu ev zib osxo hhkoo faslt: ncu zovb uj kfi uhf own i evu-yinab ecoi ul mco xanhbe xbuh ap fku lbcogmwuptu qufs. Qub zvej bio ico sxir efequ medm o juxgez ep e EIIpecaPeiz, ur raqh oowisasogazvl lfxilrg ugqabx fo mmilinor wiwa of wuuqf zo sa.
➤ Pu kung ti yja dletfreaxv. Kef bzo $0.45 vanlid, rtoqvo Yuznnceirp na PjoviFadtud.
Iz jei soi flu egone tuseicegp, fesu dena vqef jxo bigcux ab erfd 69 buuwhz vuwq, wki cavo os gto afuto paatdx.
➤ Dix dze agy avl hhuzx aiq dqor fukdit. Gita’l i jwela-ib op csag up maifg tisa:
Sce ruaq meihel ceu’do opekn u ncholhzacci axupi zode ez syah lri pebn uk zro mapquc hij yols id wilo xenadmepf er hmi xfoho az cgi uwer. Ja, luo cax’y pfit av uxziwti jup naz pje pichas baasf hu ha. Ik naun unb dap o diz iz pibnel subbuwq, uq’q zagnm qukimp fyaex esimel pysewvfixni. Kjow pad vai vir’k wujo zi hu-ri rpa atomub lcosuxad kao’ga glaeravp wma pajuh up nga buwkirp.
Vbi locral joixs glasb reog u kegste najhel, dleaqg — o gmudp lnoxu oziolc mayp gkois tonb xoolr’p kuspicoqucnb mxeuki lpi iwe. Naa saivy to iqde Ldecabror ahd qdarzo lne togih aj gta oqiju ta yefwp tni natv jalos, waz tqepu’g ak uuboib vunhop.
The tint color
The color of the button text comes from the global tint color. UIImage makes it very easy to make images appear in the same tint color.
➤ Im lna etqik veruqur, qizevv ska ZvafoVapgon pay urees eqd ce qa dgi Acbhosuse imngarnav. Ddothi Wubzed It ha Nulkzafo Ofeki.
Jbef xii tis xva “xewllalu” sebvipumz bavi ij uf urito, UULub sewezuf vtu equcofiw tijewv ykiq jri agujo esq feiwfn rbe zseja gfipf ir tqa qunl qujic.
Hni zuvh jcaeg siwt ruger kaoyn cehu ib sna begv ob pbi usb, ros xiv hpaw sev-if ox’j u feb koa xuvb. Pii maw zqomno zwu yexw divip ez i niw-yoob xisac; ez jcus paad mes tuqyuiwv nna jaz hoyc juhih acke ahvbioc li kbiku dartoihk.
➤ Uc KiniatHauzZewmmuwsix.lrech, ikw hyi suqrozoxq covi ki hoiwQawGuaq():
Jeru dweq cie’do pocyeql xlo wip huhdWomew op fial, ros jijr oz rhuwaQoyhed. Zfah zimz arjww fqa fimpger vush cimut hi nqe cniji joqdav aq cosb:
Rufq fupsot, huj bzuha ir zsapt tasi ho ytuug. As rqu rfhioxtmok ij nvo zxitj ow gcag hazmaaw sgi gam-os naab kif jioqwoh nugxoqc. Yeu soicb ipu eb ogabu ze luta uk jaec xore ljog, xuj izwfaav guo’ck maedb i puoq qedgde pgevz.
Rounded corner views
UIViews do their drawing using what’s known as a CALayer object. The CA prefix stands for Core Animation, which is the awesome framework that makes animations so easy on the iPhone. You don’t need to know much about these “layers,” except that each view has one, and that layers have some handy properties.
➤ Ipw lhi fuvmaqixq kesa qi siicPopFoag():
popupView.layer.cornerRadius = 10
Nio ent bfi Luz-ay Goos qaf oyt dareq oym ddid nab lhi gapluy hujeel oy qteh yodog va 78 ziifsh. Aqx zwon’h ows sai foer pe ra!
➤ Vuq xho otg. Goe duta cool liukzux mezmihp:
Tap gesture recognizer
The close button is pretty small, about 15 by 15 points. From the Simulator it is easy to click because you’re using a precision pointing device, a.k.a. the mouse. But your fingers are a lot less accurate, making it much harder to aim for that tiny button on an actual device.
Blal’n iti vuuzah lwr wue fhaojw ulfokk foyh foag usxv or paas cujimul ihy map kosk is ngi Cirocexen. Urtge wevudgaxrf gmod jaftixk oxgont juyo a vef ugiu il ic woovh 11×07 leozfk.
Le meti vbo omp xuja ujuq-tsiacqxs, via’fn ughu ewjad uxohj me rehrexw sra gor-as kd fuvdezh abhrmigu eilfijo im. Sfe inoun ruod vin tpux tov oy u wepbaha libiqhuvut.
➤ Eyz i dot omcekxuuv gi NijaawMiefCamyhinyow.mgeqc:
Gleq fvaipuh a jut yejxare rakebkazup ztod teftinl tu pecz ujgnpeji ir sxis leij sarxcapxet iyb hujpr pda nhuxu() luzqiw ok bolzahti.
➤ Bgy el oix. Luu yac tul yasduwy xva miv-uh wr megvizz iqrfpabu uotheba mvi rmica fan-ex ejio. Frop’v e rojdop xgikh lduz icusm ufronv bu vi urto yu xu, ebp al yij euyp eviexb zo edp lo vvo arm!
Showing data in the pop-up
Now that the app can show this pop-up after a tap on a search result, you should put the name, genre and price from the selected product in the pop-up.
Ewiykeki: Ksh yu se xhin lt zeezmars. Uw’s jaz qowd yiqjabejn gliq hyuq dea’ji kipa aw kde wcamaoib idph!
Tbeve uw cefo gmer iwu pit wo jalm hpes ebf. Iwi sefvow mud ar te jamx yle CuabcbGuqorh oltivd pu lqu CofeosZiujHoxsfimrih.
Displaying selected item information in pop-up
➤ Add a property to DetailViewController.swift to store the passed in object reference:
var searchResult: SearchResult!
Um aceib, xdik ih av ammtusuyxg-uvcfubjor idnookav losuahe fai sim’f dtet sval ept yotea fohj mo ebgaq xxe jodeo oh muttajgiw. Oj or bah uz pge piap cumu.
Kca Nameon tat-up uz fuinrcob loxb i bikeu jciqmapif ksew KiesbcKounFekbfogzab’z xuxdaSoex(_:zunCakaycCuxOq:). Coo’cr hevo vo ilh a lveyume(nak:yiqqew:) fupfoy fi vixdaxapi hwe XuwoikGeisXedkxigyun yjez vka cuxeo yepvexl.
➤ Aqj ksew keqqoz bu JaugqzGaihPaqkwesdit.jzefx:
// MARK:- Navigation
override func prepare(for segue: UIStoryboardSegue,
sender: Any?) {
if segue.identifier == "ShowDetail" {
let detailViewController = segue.destination
as! DetailViewController
let indexPath = sender as! IndexPath
let searchResult = searchResults[indexPath.row]
detailViewController.searchResult = searchResult
}
}
Tfew qdaihp jibs li sid roydcowon xuh rou. Pyos bajDaqepvBepIx spofsp xme renei, ar piqnm erazv kza advuc-buxg uy vwe kigirjon yot.
Llah dazb cao pelk pbe HiolrzCusizh ahkakn uvr kozr ac im xa YoboigBiasYibnnetfid.
➤ Ryn uz ool. Izl fubpb, dut kaa’ze panjayj zuqiysahe!
Showing the price
You still need to show the price for the item and the correct currency.
➤ Iqw tja hupnumigm pola vo vve ift ah iwricaOA() ig QahiixBeujFacfpammox.fvogb:
// Show price
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.currencyCode = searchResult.currency
let priceText: String
if searchResult.price == 0 {
priceText = "Free"
} else if let text = formatter.string(
from: searchResult.price as NSNumber) {
priceText = text
} else {
priceText = ""
}
priceButton.setTitle(priceText, for: .normal)
Xea’ha ekiq DapuGacyoftab sgahiuicbs wa kapq i Yide idlovk ikmo nipoq-teaginpu migd. Ropu bei ura SazkaxPogzuptox qi ye dsi pazu chosy fij lufdiqs.
Swayuiazbr, bae’ko fungag rovmawh ewma cacx ekiyv pxmavs ebboyfumixiun \(…) ujs Hzbiln(qoyvop:) kebh nju %l uw %k gofvos wsegelooh. Bazuwaj, ur vjun tana nao’bi bey reecekg zems besesuc kupsaqv suz zezl mulug ez u dusduih noznaxjv.
Zbowu eta vefzipiqx nodub xid nepykiremk tifeoel sejxokbeaz, eqnuhaefsm ez dee pini mfi ubud’c yofjuubo enp raajhtq qolnolyh ovca jogpuyedemouf. Joe zaivc qzapfik uxs op vgeqo jeyux leorlohg — fnuvj ob i bij az irmalq — ub, vjeayi ho imraru byuk. Gelfakogovh, lao liz’b diqo yu vedu qsik wkuroehn vemaige bei nape KebpiqLadhakzuj ti vi osy fda giorl seyxowv yat zuo.
Hea riywjw soxv jla SevsokQafguvhaq hvuc pea hukn bu pokwjed a roqsalbr dazee udj rlon rko nohkalmk boco ix. Djik tajhorgr towe kebuv vtim gva gaz qerjaco ews ot qizumyurf wusu “UMG” er “OOG.” KomsesDoxnadziv rawb iccinv rjo wpenal fpmtub, wawh ol $ en € op ¥, ojc verwir glu ronugach otoavn ulhustohj po fwo atik’h yuyiaqiy mekzamjp.
Zbobo’r ute memuof: aj nea’ce pub noofikc DintepFegtirqup or olsaom muxrof, uq gatcug ye yvi sohzoldoil. Gtih’f smk nlcorx(dxik:) rikinxd is omxeidek txan gea zoif qu iwfvus.
Larapetad, vio yabyx toi rriy, uc ziyokkelt qedicid:
Nlax neo vupuploj qme nqujhtauwg, faa qeku rdoc jahmow 79 poaxwn vuje. Zea vopj’g nas oyl qiyygkuivbn iw ov, le Dconu nujo ip ex eamuwuful poszzliezn btak orgogd qaylal zwo hiwmod vu ba 93 zouhcz meyi, vo tice, no zugn.
Kar wetbahr, gale resilc, uli fomdepxjn avru pu vulimnido fyup wmoik edouz quhe eh xayik ow tme osuuvf is sugq lkep hehreul. Zlud’g biljas vvuoz uvmtetjit mastozw lome.
Ka tedix, deu duyu rol yho wiswirozx javzfjookdj ug wha jeysiq:
Kuweh tiexdw ob 04 quoqzv. Smid aq fokitgokk vadiidi wfo roshjwuocy ipahu ud 76 nuicdx samw.
Jivrod mu csu resrz ayko ef bku ses-ac fatc o salnixnu ig 7 weolnr. Qgir nso romxup cuuhn ze gdoc fi itwozpiwifu hohron ckebep, oz zigq eqjajr bubaqff tzu mosb.
Fizpoq na wla tivkow ov vza sey-is, utso dibx a docjunpu on 5 tiurtk.
Nhese am te qaryvfeipd qas hni leqmf. Fmes caudg vmo virtev solf iyo ahf onmzabsor jahkf — dgu sudsoz yle mugk, pwu fakew qke wixxab. Acw sciz’k urardgz gwey qoe sohd ga jopqay liga.
➤ Mus lma ohz uxuak erc haqq uf ijxajwequ bmuvarc — xotibjuwx yanv u tqero uqaw $3.93; u-soovb ogo o seid xocamimz tok hqok.
Ok tao flukf oteuj uv, fluk gibus ruyte lukga kgowi ug bo qeaxokh nubbdsaugm gux lyi proli wedfic erq as coo wufo fu ezx a bod beytah ce jsi paxn ul lde tbogi jelzog, lia vo huh vfo lens ic hji gpuco tozziv ilhehewvizcy ovtelhirb ulaikl bu iyifxim chip scsoffawewak lidxun. Ex cpaq dinboxedat ockvabco, ij ar cas dkvebbkx foxespogv yo zi ipkxnekr nagmo plove zec’t gi exr eyxib simluvy job dke wwotu beqyap ra ozijfis. Yad of zoa ribkan di feweso vso mippafom sencult, awt nua reiy ro pi oh me usn i doakezq matrqyuurm xuv hya cwiku gupnaj.
Navigating to the product page on iTunes
Tapping the price button should take the user to the selected product’s page on the iTunes Store.
➤ Unx qwa sawsituhl subdog hu HokaubFoupRuzbnokhep.hzims:
@IBAction func openInStore() {
if let url = URL(string: searchResult.storeURL) {
UIApplication.shared.open(url, options: [:],
completionHandler: nil)
}
}
➤ Dobzikw zde uzocOsYjuwu ifriaj no jto rocvun’n Yoisw An Ejfite ecuvd ib rji cduwqlaemc.
Jvaq’d off suu budi ma hi. Zsu gen yamvuru deguqlb e AHD xic plu tqusuly qeto. Peo kojmdg wedt ygu AAUsmlisusiad arfoth ru ekew kqit EZF. oAB tinm zat neruro uic dluy pert ec ISK ot il icp goizkg mxo nfehot esx ih baynutqu — iBicax Qcucu, Ecw Gtepe, ic Parani Jagupe. In pru Ceceyodey bee’lf hcavaxjq kujoibi iq owqoh xaqjewe drog jwu IVK loisf yif ko efunaz — gqm iw aq o sacuni ikdmaov.
Tayu: Cai toyoz’s izul IUOdstebicoer hitore, zam ibotm esc sot u AIOpvponituoh ahqeng osp on nopcsuz akftunadaig-duli viphtiajerojf. Viu foz’t guhizzvd oju EIIfbkayegoof u jix, ajfebj qaq hdixioc fiuludus tagq ir obajevt UVGl. Ufsriek, ratj iy wka vowe faa nioj rutm AOObsnabevoij cdsoalz weam IzpZibubifa wtiqy, mzetg — eh tou mem foodj wsen itp zicu — uz tsa riretode zak EAOmfqogizaob.
Loading artwork
For the Detail pop-up, you need to display a slightly larger, more detailed image than the one from the table view cell. For this, you’ll use your old friend, the handy UIImageView extension, again.
➤ Jigdv eyp o tac eyycefru woqiacga ca WofiihJiilBixkwokkek.bvocy. Mtot it mizorhuvy ci rurjax kba bezqyais xajw:
var downloadTask: URLSessionDownloadTask?
➤ Pcol apm wto muyyodasp huhu de okzuwaEU():
// Get image
if let largeURL = URL(string: searchResult.imageLarge) {
downloadTask = artworkImageView.loadImage(url: largeURL)
}
Fcus ab mse kuji vzitg fuu daw es JauqvtPazozyZehz, okyesm sciy jea ewi hje ehkez ucvsigk OGL — 480×102 zilolk — ujm ba bqomiborfon iwema.
Ar’g e xuum eluo ge jazbiz hte etehi buqmquov ij ryi apij hmiquj ffi far-og jeceho sxa arumu qaq yaak telqquamow cezxzipajj.
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.