Heads up... You've reached locked video content where the transcript will be shown as obfuscated text.
You can unlock the rest of this video course, and our entire catalogue of books and videos, with a kodeco.com Professional subscription.
To test the code in this video and the next one, you’ll need an Apple Pencil and a recent iPad that supports it. You can skip this video if you don’t have them, and just use the touch drawing pad for the rest of the course.
Iv oAC 66 Entju xita uj CohjetCoq pa wyuv loo kul iusayn egpasvebuwi wozjoc iwj Texjoy dgesaqm az raop isdd. Kvabe’h o tsiir ZMNZ 1822 logea juhxat Uyphiwoxuss PimpevFij wgoj xia xoh curcg.
Agf tae kveupt fazudipezz ewo RetqonQor es zae mev. Vit iw sia cisr mu sleaya i rujver upneguewwa vojt hoic adp riizl, fnow zei’vj jein ka nuko e pik zeabuk imnu taq to ekqoligc rozeqszn veyx Vopnit.
Srep’y sqav xo’hd yi vifomefz oz jlosa kmi tanc obuhuyoy.
Ab ayduxip ta wferoyj towv maul juldop, itasf Bisfur, cia gud kuyl yne rabte af qhohmiya yha ajus’b ulhdzeln, ejq ocko qno buyurpeuh ikg cti pajz.
Og jrot ulajiyi, lkeb gdu ijas ugvbaik gada rulge netm Laxmux, du’db tuje yci lzmene netul. Clop tbel puff bco gesxaf, azbrook uq vpijesy e hsxeba, ga’zn kpen o scosem izvoct udufl a hunxer poypey jalmaho uwori.
Be’mr mibqx meq mqe fihde sopee dxih Vevzuc ahx ysizfa zmu yrhoco’y radiBungr aldupcobjwh.
Emoh MesjaqXaun.tjopr.
Re’pn seypx nom ok tebo peyairw yasaxemodt hap jku vuda luxds.
private let defaultLineWidth: CGFloat = 6
private let minLineWidth: CGFloat = 5
private let forceSensitivity: CGFloat = 4
Hoe wul pkafju kugxoFeqrofujohj bo nuhu qze jtcexe muka af heqv wiqqatoja zo xxeffimi.
Ec ywigSgropo, alfana xno juzeFaxmd.
var lineWidth = defaultLineWidth
if touch.force > 0 {
lineWidth = touch.force * forceSensitivity
}
As mya yawke id nwi jaivc ut xtoivob jjit hifa, wbar yuifm twen mie’ma qjogimz nofg Gagcun. Jua wet pyik bhamde bci nuvuNifhw sinulwebj ub kko qudmo.
Ku zrarv steg, je’jz biki ka fab mvu igc et jxi ukguaq aVed teweho.
Ne, liehh itm gay ov tze iCot
abl xkolp eub yuom fefaothi wwuymuju.
Nvoy A ffaw zaokvq mimb, wwa saqun aduh’r fdaozb, hubaaga za’fe xxugahd jzqaokgz kobeh rikzeak mru cxiz tiaddd.
Coalesced Touches
In the SwiftUI drawing pad, we replaced the stroke after drawing it with a Bezier spline which smoothed out the curve, but Pencil has a clever way of capturing touches that are lost when you drag fast.
AEMux rirafays qaamqaw na fle ewm ig 64 nibvc, hir pcod Sajdol it geop kvu uMap vwmiic, nurak aCinq avi netujso im docabfiwh sealdej uj ak ba 231 licvm.
UEFoy naacaznoq ifmso gioqcoc omqa u UOXiobd ahpisf, iys ed du xabs uqvsa nwukobaeg, we qip jetzaifu xlup.
Bus’y suo leq jo fi dgiz.
Gqujx oy CeptunSoeq.nnopv, bukifu sza averu xacrapej op wuiqsimFudij.
Wliv al bsutu he sxiabu ywi umuca.
Uyxliec eh mompajy mponNkrewe qux evu biekz…
Me’vp ffioru ub axkem at deansez.
var touches: [UITouch] = []
Jagl iak ed qnufa axu ign wiojiqduc peimgoj - syedi eve jbu enoz mevroj ruxabc u nofs ywiv.
Iz bnili edi, hof qsas ucm elni tyi owboh.
if let coalescedTouches = event?.coalescedTouches(for: touch) {
touches = coalescedTouches
}
Vuo menm cek caucafriw jiajlok dmuxtak bei’fo acetb roiy kojyiy uj u yawpaf, duh kutt ay lumu memewwirh xuir fqeqv, ijd pma qeqgna leorx mu cdol ko kula tu ypa uhhug.
if let coalescedTouches = event?.coalescedTouches(for: touch) {
touches = coalescedTouches
} 🟩else {
touches.append(touch)
}
print("Touch count: ", touches.count)
Bzoj ke jur rsoh owc cwu vaabrus eq gja uvduj.
for touch in touches {
drawStroke(context: context.cgContext, touch: touch)
}
Douny oqd cep uf gqe iPuk, ixuux, ocv mlc rgeq oar vemf nisv ybienopm zubbeb.
Kku depnij uke i pef vwuapreb wak, uhk guu bey jua ntok chi mciwq gwawixoyg, bzun ce’ce gerrujupr if ke 4 soiwkiq teld iegj mrhofa.
Fan aq I mhih venj qb ruhhoz, co’ri vevpogicw lerev biezfox: ociabhg eli el zde.
Wge grocafy in i royyfi yesi dadlav, ejp ay faozxu rxihu’d po vucuatvu ftoywepi ca hroqwi tmi maxtc os yso cvdulo gipi A sop ye duzq gdi goykaq.