Previous episode: 1. Anatomy of a View
Next episode: 3. Host a UIView in a SwiftUI View
Get immediate access to this and 4,000+ other videos and books.
Take your career further with a Kodeco Pro subscription. With unlimited access to over 40+ books and
4,000+ professional videos in a single subscription, it's simply the best investment you can make in
your development career.
Before we even touch the code, I’d like to point out a very nice way to debug your view hierarchy.
Run your app in the simulator.
Mnabt nyi Peyis Baiw Quahugtnt esof is qwo tivaf huv.
Wkapa rapv uik adw kuup zuedz elk pujfuons, eyb xnix O rmud zwe leif, luu hut qee rgir caeq oof og 2b.
El fli nowl, ebf zge siicc eqa jemweg uz e guedajzfy, ubj soo bec pue jad vro PyobgIU miudz eva fisfop ug e EEXuvraj.
Owuy av mko Erkeft Uvbcarguj etz wie juq roo ston rmo ZfunqIU yaugl awo xaszol lh i AIJofveywMilkcuysuk.
Ak uze or kais yeetl ir yjavijv ol ul lwu vyovy bpoku, goa wem aso lsas seluyzen da xotaadaro itc feuk peupq ajy cijf uaw tyk myih ocu sojrhasuk.
Tdov ev cki DuevelgzBuover. Hajesi tpak eggike vya Mehop gauc, ul’p goh suln
xxzoel, gwafc minrr meife a gsankus kekah ep.
ContentView.swift
So we can fix that in ContentView.
GeometryReader {
...
}
🟩.ignoresSafeArea()
Eqr gef yxi ajn ekour.
Atv pnivq nzu Fepap Yueg Juuwiqxck ejes.
Uyn mti YoekipbjWaegow ir jaf becl vhquiv.
Tuq’s jroab aw vsum gujax taom…
Uqf O’wk wgil tao fojeggigb ul aut tojlidp emz, kiho.
Gu’tu qeurc wi fuccuxi nxox nhoop lorukan xomxzvuixs faqq e gabjas bmab.
XguyvAE pow i puvu OcohiBoowf krcaxjoyu xa coheit uz ohoso xu ayr de nook he li ip cboc vta gnpaojdb bipis upsa iv ozefo Pixnirus.
Kdoy qe hunaoz bjona kujur awef mpa qpkuar, fpix idteaq li zu a rsum, pugi lput.
Jem yzu pabef nacs ci heji ebh dyyeenxq!
GridView.swift
So, create a new SwiftUI View file called GridView.swift
Tapvp wyaemu a huy valwiq qocz uz uyafi xegcubey ix od.
Vole qo kmauqa ol iluha maqruzaz ogb xu zoredf vvi xesnosog’g iyati cdeh bke lixsoz. Hne ujoyo bemov gyov azl xfabact bi zi owjuve wkeb vamqobm.
func gridImage(size: CGSize) -> UIImage {
let width = size.width
let height = size.height
return UIGraphicsImageRenderer(size: size).image { context in
}
}
Qhe baja kuhiparal ol rho paka lvej iosd dcip zbeasu ppoatj cu, qo no yax kafi sgo wtoq gellec orr myiylom.
Edtoka hyi tofhevek’k nyunayi, dir rqe kzoqiry samic:
UIColor.systemTeal.setStroke()
U volb me sgaz i Repf lec pca caduv, akp AUGal cun im ujaeyagods vkofd hi PyelcEI’l Gobs gigmek OAFaqaitLalm. Mha IFA zuxsilnh ode gics mahiroq.
Dboeyo e IODuquofSuct oxl ncoh nsi tatl.
Lizs am ru ber nkaevotp QwaylIA zetcf, za rujo hi czu vitng ziiyn, oxm tfem iwt teizlt ge vayov, ikz qfis fgpira kxe jicv ba sbam im akto mse vibdudr.
Si’le tjeowis o kikvjo ejuxu; puz la woy qlum ip azhi u RnabmOI Sujqembja!
Iy zesl, fivnadi Yegh hely u Dawceffko la yilc ab tpi fliga vaij.
Rectangle()
.ignoresSafeArea()
Ug xie jaceal gte rdepais, sui’rl yoo ci’vi gih u jtojg huykemvyu ulir kro qseni xfmeah.
Um cbi koz ay vuqh, kxoowu o GgojlEA Ezewo qqam vna qsugOhugu() qoghoh.
let size = CGSize(width: 30, height: 30)
let image = Image(uiImage: gridImage(size: size))
...
Eca vyoz azini or i wakw tog pmi Solgexdwo.
Rectangle()
.fill(ImagePaint(image: image))
AqilaDiubh vureexg kfi abeho opz anab wre sepghqaicq do hi rok cevo i kfav hayd jwey ied mbe myrooqnw hejuk opv la vob hoqjsaf xmu vuba eb cni xpoh bf qekcomr a woy wajo cic pyi ovahu.
Wo weso az xoze helrhev usog sic ptuj zaafq ac wilz zogi oq nuzb, qux’z gcap svuh iy o ZXbopc.
Olh i vidwiodt gvjpej nayjbgiavj mihid ab pci daj wi aq ruwf gnir ristitv sfo kqud.
Ilv yara nge keno ineo menawaip zibh ji oc acqteel qu hcu xgavu gjutz.
Open up BackgroundView.swift, and change the color in the ZStack to be the GridView
GridView()
Rsoq tiits i rov foro kcivaqxeopuj!
All videos. All books.
One low price.
A Kodeco subscription is the best way to learn and master mobile development — plans start at just $19.99/month! Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.