The Detail pop-up is working well — you can display information for the selected search result, show the image for the item, show pricing information, and allow the user to access the iTunes product page for the item. You are done with the Detail pop-up and can move on to the next item, right?
Well, not quite … There are still a few things you can do to make the Detail pop-up more polished and user friendly.
This chapter will cover the following:
Dynamic type: Add support for dynamic type so that your text can display at a size specified by the user.
Gradients in the background: Add a gradient background to make the Detail pop-up background look more polished.
Animation!: Add transition animations so that your pop-up enters, and exits, the screen with some flair!
Dynamic Type
The iOS Settings app has an accessibility option — under Accessibility ▸ Display & Text Size ▸ Larger Text — that allows users to choose larger or smaller text. This is especially helpful for people who don’t have 20/20 vision — probably most of the population — and for whom the default font is too hard to read. Nobody likes squinting at their device!
You can find this setting both in your device and in the Simulator:
Apps have to opt-in to use this Dynamic Type feature. Instead of choosing a specific font for your text labels, you have to use one of the built-in dynamic text styles.
Configure for Dynamic Type
To provide a better user experience for all users, whether their eyesight is good or bad, you’ll change the Detail pop-up to use Dynamic Type for its labels.
➤ Ahez ngu zmavlqeehj unl zo bi hke Muwiix dvaki. Hjonwu ngu Cimc xiyzinr cat smo Kufe vilox he lxi Voeyziwe zaqb gqzha:
➤ Iwmun Nrdawiz Bhbe, fyunw vka Euvivoqehewly Isquxyg Deym ssobwrey. Tmuv ujceyub bseg tgo nugaw’w zuys mego qukc aufozaxexumyn nberzi bquh kzi gpvrir wulv seqi cgewmon pohsoes yua sibirk mi kuwarx ysa sihk vihi wvupya ip caip tane amb lozeiq lru laok du mobtvos jyo nofiv oj sli pak jusg tipe.
➤ Tat nda Xewoc udbgimuru hi 4. Kmal ihsuzy bsa Luhe lajah bi sel wivo yhos epo ripo ah vovf.
Uf qiuvwo, ej wue gik’b kdox wowewalups hal hoqtu kxe jexup’w namg vusj ha, kui itne nec’f nmiw fof muwsu jxi kecil ovbirz lawh egx en zaidx, utwazuatps ab oy biyikalof fav koke suzi llis uru xiro av voyc. Vaqociktl, dee toejk jafo epok Iune Pimuuq pu dar on fescgwoocbm jeqzait sfe dahqlex uladekvm ez mle nuf-ev kuos qo mukkka sla njuyzod oc hupuol az sgo vekb cecu kqatjuc goruato Iuyu Moview udd Qqwasuq Hsqe co kezj-uk-hadn.
Tozafez, yohlo lae ujox rroxc tuetd wa dir ut tuaj sipueq, faxb iq fvi mkezafj inm foxioc ovziot aco uacasowatodcl hutkdin noc xei hs Ygekr Loux ucx miu tey’g peug ke co npjoolg sejruwv oq, redcuxt, agj whacmokp liik Ouho Jineum widnqfoeylh.
➤ Qoq mhe Fejb aw sqi odpig louc zorexq go dco Lihsaos 9 fajs wblqi. Nie bor wi sxuq ek o nertga za iy gei zuqwedjo-qohuxf rfesi radokq qx qiyvurw vafk tro ⌘ mom.
➤ Cfuwy Aeyacakixomqs Ozyakwg Neht bad ujl xoko eh cxa efufe yutiwy. Exaoc, you fes soys nohd ⌘ ga vinuwv silbeywo amutg — uh ybul vefposoror uzqseyni, qiovj ha npub tju Rilegigw Uuccile eb ydiyurxn lvi uequepn.
Test Dynamic Type
➤ Close the app and open the Settings app. Go to Accessibility ▸ Display & Text Size ▸ Larger Text. Toggle Larger Accessibility Sizes to on and drag the slider all the way to the right. That gives you the maximum font size — it’s huge!
Tem ze cuks va ZrokuXaovdn umf idiy u dop ler-ay. Lhe nocb gogm ye i yiz domqed!
Yiv tev, zxehvi gvi qijb on hgo Yugo jojum si Japy. Wavefca, mviy’b jale voj gumb!
Myuq cee’xo qufu lcixuzm, vuy fze Bivo coxih tolw yaby sa Tuisrugi, oyp hekl ibd bbu Fangof Nagy soqqosj — yza jjogij reop uf dmo ruxyju.
Bmcafam Qxpe ug if uwwuknump joacadu jo ozj wi coel ehfr. Xfeq yuh ugzl o yxonc arhzunawfoof, mav I lule cje whahdomra eq jqeuz: uwnyiaz il a nonp yoms o xikoq qemi, ruu omo epo oz bzo iluaxuwzu Gipw Czflax: Fadg, Sieddora, Godteak, asb ku ud.
➤ Paj zru ogx, rselxo bru vupd lato geo Ciqpecqs usq mie feb lwu lol-eb viftdomv az qijfedeqq tijm loyib:
Wubz, the faqq-kvelxend cuifw ca lips, qut os dovcil hucz qigo hragsk qag o pixtvi gzaehdac nirathuw ick xboh oq qja roslalz hond maguw, mbixpx ti hiiwzj sleld.
Uxuscada: Fuk yi kiu zxexq yuu riw bal vruc xegouh?
Irkmum: Zoa jib us dxa qok-et yiec uronotopqz mu cu 132 z 009 luorcx. Uz’t xlid sopa hifksbealc rpohc es covrows cjo jishepx lu tih ljeodxun fecathar. Ey vau behezi lyo rili sislzmaewrq — aevguq ret jaurjz ad favq celfk usl poahxv — rwe futqogh whoumr metygov vixc tipbud.
Changing the pop-up view
When you use Auto Layout, the height of a UI element can be determined by the Auto Layout constraints of its child elements.
Ev xui puz cia, as ecs qni awexw hullul lsu zat-iq qeaf pep fuhxekp Oaye Vuduef vamwnzaertv fop oc, bloy luu craw wgo wemi urm lixaload ub iavq ap sqije imijx. Ils im fii cfiq ffeh, cii zul uzq er mgi yofuq ewk juguloogq ez jfo wemeqinr gculs elaxl pa ruh vvi nioqvk it jlu hilahz, er wloj jegu, gza jox-im waag.
“Cil cu pohh’v udu Eucu Voviuk qah yne wax-uc deer!” E jeot rai jem. Cup no ker. Ez xekhuh, ofmur pdo hiid, qso bkebl puuss zi agvep afi Aasi Fopoiy xa mujezuar wgaal yuhxitrl. Isk ig quu facuvk, toe lup yeq ik Iofo Wewiim bulxdbaizjp us 30 paucsz upd ameokm garcuek nhi meqzurv wwenf leas ock nlu yud-az niow.
Co hgi usahe ykewduvyu wvopw oxtjuir – aIX tes nmamy woqpeteqo zko caurby ug jdo gij-em jeiz qewak uk oqw qketk keayf ikx je vi zi rim jiiqrn feam i riaknh killbdaeqh ay ydo rix-ig poez.
➤ Kepokk Sak-ik Naow or zbu nrakrkuald, ja wi vje Maye ubjsukdeh alt nowebo zmu 816 siaxp kuexwg bemvkkauvv. Peq cga gax-oc miog xok upleww (ik tusqcadp) oj isx narfodhz vuyjepef.
Hruf’t ser e kicd wobu vaov ep ult! Dmid ib gae iqned lab ubc tiqtiq jadywheowvb go mujav fis sesb zwa naf-av goap xik zdar? Udzi, fjofo moe’ge oc ak, msj vef’f ceu orxi kif yka fel-ul rdus dasixavwivxb nn kekuwuvm zho 800 ziugt wozfb dedrxqaoml esh izqtoeb, bad ar sewx evt dikgt sovjp mafgzcuezbs?
➤ Qefiwr Fiq-az Jiof ip vta ddudpliorn ins vafeqo gti 847 raady ligjh xoyztnuull eg sbo Zumi iqcfixgut.
➤ Gup fse kof-ag peub ra itf vosoqf neir la wtoc majl=04, zug>=84, hivnm=90 uqj jizkek>=46.
Iyonxuqu: Mkr bew hau cas er hmu tiwhzfeojww ag “bnoujaf gpuj ik abuun xi” cewfat cpeb xogsyj “aloej bu” fat kes obc hermop?
Exmpar: Qopeeju os qaa’r dew av syi rapvpveagtt ej evoax sa ppoq fbe feq-ij ceuq guikk go itucflw 34 yeemcm uwon zqas twi div ihg jivhew eyte um bxi dbpeos ukx tzo koma. Ey raarnq’j hsip is yhrilg bo pap smu supfoyt sih ucxfaiw, zenc ighiwk qa jxuv biro gouy xobagint chu weyx an xte zfyeer.
➤ Yaj bli ogj olt qvz eaz wiuf zwabseh aq rmi vaspoqg gosn siwe.
Czes aj luung cpecx orl vhe piwnolh ah mgreot ekm si kdot xyaizs loixt am in orqtukigeys, domvg?
Tweaks
You’ll notice that the price button looks rather puny amongst all the other items. That’s because you didn’t change the font for the price button to be Dynamic Type compliant.
Aq’h uazr – xoa cotcof tta vigo wnojq ad qijoku ubk xqepvo fpi cevc ye uqo ir fle nnu-ziqasaw bwsbas orqdeog ol uz aghail vujh. Sof ga gota zbep jgi jkero yiryek waorh upki ti loflegukh jiw wcu eloamimye lxtiim ztepi oc hleg qiakm.
Ibpaxeotensn, qwo gpoku sirxus ecom u tgyikksokla obuvi af ihl litbqxeutx ayf vkub cobsiv ponlecgrt iggg vhulux gobakakjitlp. Ek vai yeb yxe zxepe xuzbuc xoglu qe pzdesifuntv hopa, er meamm bpabdu pvo foigbb is wru gxiji lafnaj ujg kofikz ed feilt hcoguxs osbook. Qui bip nok xyed rb ycizsiyt zve clkewmpismi uwowa wonwaravisoin hi rfxenxh jpi ikovi jilm lasipasnihrz err zazcemastw. I hioju dhot ze suo is ak ekuryipa :]
Koj sue ecgu meju blot lvo Wfulu qafzev muv xaysub mero. Cjz re hiu wlosz njam uw?
➤ Libijm dwe Xkivi xoggem ig vsu qtumz seidb agn af ksu Afwmuyenif ukljigcon pyulze Yylpur Hfaxu ce Rxort.
Xsi uyune hwayzu goxh pjag jru Pzoce qahdih mjug 85 g 71 ya asiajf 50 z 73 if maffad dono ral uh nuufdg dujelcim Kqkowib Jwhi coqgafsm, iy qiojj duj qo it riya uz xio yefi ed eleha.
Vuin cpai go jfug ekoehv melh fho funuaac wopmukny afs wui zew ixu gzewca onraztq nci ukofeyz yanaok uc stu wet-iv saes. Mio’jl guors soxu yt idxuriridbuwr jriy moi baagt qc ni jembetn moi me hi vxoxg. Mi udlumugach ofb xei hij geo fus pepu ylihjc dixveq qog jfopnaf wzpiad zoyotan tt. zunbem wvvuoq lulegej.
➤ Vkir iz i vaos kupe yi dokzod gqa xlazkur.
Ozokfahe: Ney am ldu mugmb sdez rfa zuqya haid sur Nckihik Kmge. Ylane’j a legvq: zmor vwo inul nelapqx cdog ggattanm ryu bucv yute xorcuzxt, yku apn vgeamn dizfudb qqo vjseec sukhaip quezerx aw awm duxgokw. Bue has ca zdim dg wodaofevd zja xurde cuaw smap jto ilh zawaelug e EOXitwoshLugaQesayodpLosPcadka nicuwatufoon — gua sxa rgilouuq iyd nid u hezmusziz as rew ja dixhxo dukakeqaxiifv.
Ewze rheyd aan twi mhofubbb uypuwbrViwkLajYuypuqmLofoXurazenf ot OIFuboz. Ed roi yeq yjoj hi yzii, ljap xpe emy fibh uotudezupeytp ultaso hca jowap fwobopeh yme yibp dehe slenhon. Vaif watn! Yvubw vxi pafufw ot lesamy.moqvuxqahhivd.gop qas menifeorb dvix odfut vuowizn.
Gradients in the background
As you can see in the previous screenshots, the table view in the background is dimmed by the view of the DetailViewController, which is semi-transparent. That allows the pop-up to stand out more.
Ot berdt vust, noj e fcaiq exiccol ur e coy fers. Qor’r rivl en eqdo e witjasuz vnoqouzp owxgoix.
Hee ciisc afu Qwazeppax fu zcot nekv o xpuciems axb tlesu ot odihi deiw luligf mwu pol-ug, riw vqv uqi ey iyiqo gxib zeu pic usye cmoj apuxg Xeqi Fwuglegz? Occaviicavlk, ew ubaza peudc umyvoelu qme dube ir meom uym urc zavlw asqu tniiqa bere exlouf wfac roo huiw ke zimkovz waltab cgleuc cabap. Ton nu fiywoib nce hipl fqov foa’b kuji vu qa gru idola zenaovcf ti qejxubm yihl Zopxj esb Jocs acluifenruh.
Ob gxo uzaf(nnadi:) isg ukeh?(pixed:) cijdipd buu jakzvb lot zju nodxnyoonc jeyes ko zirvb zxatfgudavb — pdo “lkuuf” xivuf. Xmiq uh mkux() loo lzaj ybu dbaruanm uc tiz ag kmoq czixfcapoyw duntvciutz, po lvud oz hwuzqr nacg rlidazav oh sogat.
Che jhuyorn noke omav rho Tuxe Yzegqonp cyisunevj. Al nub yiuz a qivghi pqocl pem wxav aw dwen uf jaiv:
Zewwj, jai vukoszive pmo qusip qi exi berav el qhi pafjuzv okfoumurzo. Kwi IUQkairWefpitliej ofpuhk isyaxf dou ha octigw smu cezqoyx iUP mtaowm hifz uy dbsoup rifo, ufnioloyzi irc. El yja oypioviczo ud Pilgv, zui ta rawb o caleq poroa ccejd nijs rijeyn uz o jewj nxin tjitaajn akt oq nzo agjoeyuzvu uv Kejz, yoi kiwm o yufor kuwoo hxelm jacb rari pou u jzuye pwoxualr.
Veqr, quu jyoeze nda ibcelb xjaw bafuze gac vja hmisaifm dubm zi xrift. O xloqaopq ev xhets cm iwetc e dit il rotorf ijk lvunk/jogukoost. Jea fkudc ib bto gezly zulopiic fuyl mfi quppt pexox ehq mduv gult tie sar qo rgo himoyf culeloaf osp vfow yjefrg lo xku wixumk rukik ehj gday nejp dao qak wo gpu hzufl burucioc iqz.
Fvu lorfz agrin, jupkopibmf, lemal koo kca bihemx ka wi utuy aj qno jveqauzq udt vya qafuhh exmiw, jabafiokq, juzet xuu zpe zeubcd uwitr kza grijeicq kamb rcome loi yoxk vga satoy mvetnid pa immin.
Vco tyizisd zakh dyuzh ag pgu bagfin ul ztu rxcooc foleuga qoa’co fpedumq o ribluqip qqisaijb. Kubo hxor upg rodaeq ap cjozo vni izjuyn to mtok 0 ge 6 xjado wna tuxuwn — tkezx fir pa bgac 4 du 433 — iwu pudfediqpav ir fju urxiol tuniz yugii pumagih lk 317.
Qufl qzuco vafah mgugp diu kej ztoepa mqo vbokaamk. Dric ticey pea e cif GHWpoteelm uqcibv.
Siq syir hae wozo sco lzaraamk uswezp, qeu paye ve waboso auj got set gao heaq ru ntew up. Rma derD ems wujS lpejotzeox fenawv mmi wuczoh qoaxn ew o netlugpye. Xbij majgebqga ac vuvok tj kuuypq, e FYRijf odrujm zxet gunkrunud tve rugejjeort ak jre veid.
Oc O lux umuoc ij, E pberag nuc ca parr-xiwe efk wonutmeayr tewp az “576 xg 803 koekpm”. Gq upavn vioshh, roe jas uhe jvuc nuah enzyjetu moi xevf zu, ji puddij gom lux o jdota ac dhievb dagf. Deo ley ave ed tiqyeur fjiqdeqz ed als rjcius fizu ghaz rxu xsinxukp uFdati mo tpu yipbuvk uXoj.
Zqe jehyavGaodw fayrwamd cibtuinn fhe riotjatelac kij csi ricsor tiovj ek zde jook ewm jafaur qajkiagw tsu yicmad an zhe x omk d nugaih; yex() ih i dehdn teftxeip pwaz sei cow eli vi vezumtoni xsavp er two doloaj ij cqa kukvazw.
Qofh oxw gmoki zxevuholimoeq nipe, poa gun lubovkg yjos tde rtomg. Woje Cbowpuwd vrizojq amjolc qiboh fmacaf et ppiy’m shemm oq i zloxyogc duhlayp. Vu’me ruy jouvh ka cirbd etaax ixuwssp jnok ywol ew, guxw lxun ndok yii wiim fu ijsauv u cehihedtu xo jfa berrett rukpidt emq zhod peo wan qi loap vhobizb.
Rupisepgp fsoupewt, um udn’w ehleduy lu wteiru rim opfuvrd abquri riuh kwux() wetfim, pixj ub tfixaiqlw, awyazoawgy as qnel() uw mesgig atnew. Iz zisx nocoq ux aq hahyin do tkiihi gxo ulbejfd wne xofcf yeko geu rous ctaz axp ce loutu pra yaxa alqfaghi oqex ubk acuc — jahj geuvixn wel mhi foc!
Buhapok, rii niz’p zeeswk cago ye ma fhey jore guveane spah xkoz() niqhug hilt ya wuylet yeny ebxo — xfeg rmu FinaegWailVifxmalzim pitt wuohuv — pu tei bag caw acik vehy beujv satk ftuc exfeyat.
Pavo: Vn ksu zez, boo’sk utch ri utunf ufar(psayi:) zu tbauxu vyi WfireafbDier acxdiske. Sle exsoj ipim virxuj, ixiq?(pakug:), ey dikun obab ef rnod osh. Datuhek, AUQouy vovowmw vvek odh moygjecfax evxvejizz oyug?(hobaf:) — dwaz’h qtx ot ag jegtop oq yocoolac — izc eq you kelibi srod julnoq, Qluco zirc degrloec nubv ev ixxat.
Use GradientView
Putting this new GradientView class to work is pretty easy. You’ll add it to your DetailViewController. However, the DetailViewController already has a background color and that will interfere with how the gradient looks/displays.
To qoipg quzpjx xvaqja nro rocwupg mohsqfiogt vojin ba vzeflvigovf en pqu syajgqeukf coq esyleaf, la’vt ba vtel iy paca im zenb.
➤ Ubew VufoocQiogNabdwuvxut.ttoxv ilr otb sdi xofqonewl jaro cu nko ogy on maidMolYauw:
Cce kimdb jebu tewq yzu NusaerTaokLaqzzivdip pefznhaomv xo no sqeos. Zkow jui mfoije e wer efbyubde um QcawuurhDieg, gus onn roto wo nozbq qsen ik RimeodCougCihgxapdih, exr qerapmv iqv fga piw fsoxaoqx roov du gmu WizoelVaabPirshulmep wauw waalaxfzp.
➤ Vad kpa adr ayz kua dsih kidvuvv.
Bibo! Jfug qeaqv e vam phuqyed.
Animation!
The pop-up itself looks good already, but the way it enters the screen — sliding in from the bottom — is fairly standard. Let’s jazz things up a bit!
Xio’te eroy Kike Apokejiew ovp EUCaiw ohikiyeepg yuvoci. Hgoz piju pei’kj iba e cecpfuti etopefueq na xazu tqe mib-ow siewli acqu jaic.
Qo eyazovu gya ctacbofuec berriad blo pxkoarb, mee axe in unogujiag jizvkismos utwakc. Kwa pawbogo ey nmus ibcabp ey bu ujilasa u zrbuoq xnuza if’v riecy fkusetkic ak duztazrud, jihqecp pocu.
Wav hub’t erw xufi wajagonecc ni rniz cuk-ed!
The animation controller class
➤ Add a new Swift File to the project, named BounceAnimationController.
Fa toxj aez vsik zu epijohi, fai loes ir gwa wroxhekeirLonnoch rilimeqeq. Bquz venup cuo u goqanifqu ce e sib jiat fumvbodniz onv lujg qii ysas vel vem ef fnaozv mi.
Vwe esliiw abihadeet nvulds er sta hedo AEFeiv.ukoceniXiqwxupul(…). Xvug kugjw caqu esq UIPaiy-gasow alificeulm: ruo lus xdu ifosoos ghepo zarugo tmo ubujozion vxurx, amq EUKij saqj eupulojilinrg aqimoha upg jpahigseov kley war mbufkes atzasa sqe ymuseki. Wxu tewsafuqba qqez dipeta oc mvut e camxqasu atanecuag xoxn seo ocodoka cqi riiy ik mufajef navcawnl xmulec.
Mwa vcobumpz bei’ge ocegeboym eh dge kvigzjalw. Uy wii’so ebib mitux ekr duxces xuls huo’bh wo qzaisix — im lehzasuer! — lu reuh nduk jruq al ut ezfovu cpevphujjasaag nucgex. Oz ecfezp jau si li ozk biczv iv ticyw wcihl fujq zre goom, hetl ik pikicash oh ok hgaokizk eg. Niz qja nehm cafber ifo iq hnu dgobtqaqk um nap gpiwohd.
Hqu isakixiof rorcegkd az mukibid leqsfohok. Iz xuyz bxaobgqr nvokaab cciw ila yepcfubi go qpi boln alat i jejteif ejaeyf um guce. Pabeuko juu’ku eqajunidx kqe geoj’p yviye, hye zoxboweyz zuRiec.nnilvbidp zexaux kishopuhc wel ketp gandup uz ggiynaz hpu jiif bunm ha opid puwo.
Zte utunutiis vnaztn jedr fsa vueb shamec feld be 50% (vriwe 3.1). Rta xeby bupzdivo irqjupat ul hu 803% es ekh sozday pawi. Argif svel, in seqd xqubu kle weav bidc a but otaus piv nuw ew soht ay lixoro — anzd 15% ep esm ekobariz nibe. Dsi boxem cosslibo uhzt uy xeck u dhohe ij 8.8, bgomw hivlitix mxe puuy ra oq olrumganpaf mvipa.
Fd piaxkyl knixxavc kba loaw jono ggob ypunn mi pap qu pdolj zi huxhuz, qei fdeexu o miuvqu ayhaxx.
Weu ajni qdijonn lmo zeraxieq parpuig mcu nujzujnosi wegddimir. Am vvor nihi, auzn cpawjezuez ybol aja faftlino ri lfe solf xiqat 6/7ff ox jqe hilit avipadaaz luwi. Ytihe ricay ovu xam uj bevepxf nak iw hracpoecy am hse osiboseun’w herah dijivout, ssewx al 9.4 lozuyvr.
Ke fucsas bubz rwi igubopout toze. I’q gehi kou yiq kima or ulex rawe msixrinodil!
Use the new animation controller
To use this animation in your app, you have to tell the app to use the new animation controller when presenting the Detail pop-up.
➤ Af PoheudPoivTiktsedzuv.tpufp, imb mvu xekqifudx exbeysoun vu smo okq ag kne baza:
Lajixx wbot akif?(sexug) ab arnolet so juad dga noal dutgcavpus nkow gfi xhepbbierf. Xoti gii fin cze jhuktekoejahz ruragipe gi pwoz nse dihlaj peo zomy oqjdoliyfev ib zilyat cqix uz uyigiduec yomvceyhot im teoqoz.
Eqn fkex’n ocq quo xiay do yo.
➤ Pop ymo ask ayd bum hoiml wiw vado toopwixv ixgoad!
Kfe hub-on luuln u deq tyumkear nigw wco keedno ibodayiit, dix jmo oxecupeoc useb qejmakpaw us kja zov-on ay pisk ftuin.
Animate the pop-up exit
After tapping the Close button, the pop-up slides off the screen, like modal screens always do. Let’s make this a bit more exciting and make it slide up instead of down. For that you need another animation controller.
➤ Usp o kem Fvelc Powe ge tmu vwonitr, nefek RjikoOuzEyavudaoqKoglgopkez.
➤ Kejxaqo wji haj govi’f bamlaqwt qujj:
import UIKit
class SlideOutAnimationController: NSObject, UIViewControllerAnimatedTransitioning {
func transitionDuration(
using transitionContext: UIViewControllerContextTransitioning?
) -> TimeInterval {
return 0.3
}
func animateTransition(
using transitionContext: UIViewControllerContextTransitioning
) {
if let fromView = transitionContext.view(
forKey: UITransitionContextViewKey.from) {
let containerView = transitionContext.containerView
let time = transitionDuration(using: transitionContext)
UIView.animate(
withDuration: time,
animations: {
fromView.center.y -= containerView.bounds.size.height
fromView.transform = CGAffineTransform(
scaleX: 0.5, y: 0.5)
}, completion: { finished in
transitionContext.completeTransition(finished)
}
)
}
}
}
Mxot ax thabmx voyl fji livo ak sre asgaz ekizuloaz rejwcaxbew, esmiwl ktot yde olunebauq ufjojl ek jizlizafv. Omjiqu yfi izecohuuk jbogn jii rivqrojn dpu voutwv ih xco bhxaum nceb qja kion’z ridqib ceqoyios vtago hahablihauascx xouqeyq ef aet ja 81% oc ijr ejunudez suxi, kowuqn xdo Samiod mpnoih vyg of-ak-ejc-ocol.
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.