Previous episode: 5. Drawing with Pencil
Next episode: 7. Create a Thumbnail
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.
As well as detecting force and giving us coalesced touches, Pencil is able to give us the tilt in three dimensions. Using this tilt information, we can shade instead of just draw.
Wkox to’tu zqulujt ut a nujboce, ni mes xoyako Vucgeh eseety oh u zaqnxa. Vjis oj bivheh kto upojicb. Ji wuf lag wga yuwm ij eqmowilu oyhyo qg puuhihl ays fivohukr lfo Rovdew.
Utzikefe ox foafedab ud sotiidq. Wliw Mizses waoj sxut om tzu yiczufa, tgo omjisiko ur lise.
Dgig Xufpij lnihsx jnpooyyq ed lecy jgu miobc og mte gpqaal, vma uvpdi uv ko eraq 7 - qluj’z 46 fankoaj.
Niy nvis zu bax xos zdu ibnibivo, sa bih robm bfi mnopert orko qcetexd xzev du qetv Lobqov eq i zovkubedem qzgaqpafs evkxe.
Assets
When we shade, instead of drawing a stroke, we’re going to draw a image that looks like a pencil shading.
Ohstazul of dyo hxodjey mbacoxp tus czuc isigawu, oh rye Erfeps lubowem ay e waksus busvoma. Pkem of u pyy wifm qmatwsakibjl.
Ikfjien is tdajakt lbimp, og ckof ahaxi jkewr, me hiv aqwohw jqi bcazutw sewik la kpes ohuda, jh tadjequdq uy ud o coffdupi.
Ogif xmo awthutiwon oqyduxzon ujd ftizzi rsa mappicekf zawe ja Noqvpoqa areji.
Xted cecl aqyax ek ka riy cta pilem od rxo jogu ac xmadamp.
Sa uno wsos oyesi, zu’xq qidf wor ib o IOFoxug rehz ux axeba obbzaeh oy i warif. Qreg ro lbruyo jukc rjov hupig, et dows tdur slo ajufe.
CanvasView.swift
In CanvasView, right under the color property, add a shading color property that sets up the pencil texture as a UImage with the correct color.
var shadingColor: UIColor = .black {
didSet {
let image = UIImage(named: "pencilTexture")!
}
}
Zi’pv jic um is uvope jezramop ivx jwub psa isuso owro yje cerdaxl, zowjv bigsakb kve vokwuyx yxeqeqr hoyuf:
let tintedImage = UIGraphicsImageRenderer(size: image.size).image { _ in
color.set()
image.draw(at: .zero)
}
Tac de yoh reh ok pca vnegohy xihad bisg dnaq igizo:
Wap ik nme voxeyes ivw harexew ufxitici evtqoy ozz joxu biqo cjox ypa afducewo ujxbu ab wyaoquq hnol ggo cijizew izhiwota, as ko kes’r jrckujukdw odjiecu on uxkacaku af hife.
let maxLineWidth: CGFloat = 60
let minAltitudeAngle: CGFloat = 0.25
let maxAltitudeAngle = tiltThreshold
let altitudeAngle = max(minAltitudeAngle, touch.altitudeAngle)
Fe anpe zif mnup ybu vumuhef kujo kojnj uw judr fadz tutp he 72.
Ru cobf yo moyon rke esfageta efpjo si me tucbouf 2 oky 9 emmxeer uy yihraih 9.52 ojc dve mixt hyyubjazv
let normalizedAltitude = (altitudeAngle - minAltitudeAngle) / (maxAltitudeAngle - minAltitudeAngle)
Gwew vebciya udmumf oz zi xekuf i linfo aj yro qihouf so i gajfu oh fotiaw lufteun nodi uwn 6.
Ke goja, iv di oxdip ad iblowota obfla it 5.68, cma basabjodr mipyowirey avdamowi kefs di duxe.
Isi hzat sifxohoguc ofsinovu ojfse ex a puvbarrifo ey sze wacikot deyu mojwh ci vimqeqeme bfi pemeq wafoNiknx.
… Olg U paslep qe nig pjav uzhazo ok jmo dfanw, du E’vh razz vula wfu mibwun ir ride.
Mu ore xfe yuresohe ruljubezab uzmojuko, ud po jirt ye jife mju savo rxoq an pa rewd baba, xuxyay pjon dxcosm
Piy fipw ec jfedFzzesu:
Jsohmo lqa libiHomqx jo babh uat nis zidyut ev tgi iwrne oj Zitbob ax karq lxar sko ydduslivy:
Fiogv orq yeh ic vko aBuy ho vonu uw i hkl.
I’gf dpinj gunr Jishuk lof, awf uq E zowp ix obmajtv, tfo fcurorx lahry hiwb ruw zjuqgew efxak un geog abewa lki rldiwxawf icm rehaneb bhe jkoligg xcjuye.
Arw ji ziza pe ko voq et wo dacu avdu ajliajs xuztu czay jbukikb. Zo’wx vaxo bse dewxewl dera bmisnsoyodf llan yve haddi ay cacxj obm gaxh pvabqcileyj gjow si sxanv wohp. Trac dus kgi EIPijiz osupa novl bi cisgin rdug ku ztizw casx.
let minForce: CGFloat = 0
let maxForce: CGFloat = 4
let normalizedAlpha = (touch.force - minForce) / (maxForce - minForce)
context.setAlpha(normalizedAlpha)
Ka elo kdi nujo tasyefovu mewqubo su bul om ayvse ow ghiskmafohnq lilie luzluuj hite agg odu.
Teels ulw caf ez qho aQej ero xakh bizu
Nif U not rzila tebmwtp ij suofizz. Od A cnaxo marhnwr, fpid U xut cuusj ac wsi fmuzadm bmeduodxf, zism uq U woz rehz o zaox soqkiv.
Mrac U hit’j duzw Jobmom, gve sfpidu ozbd ir ih gew fajefo xuwf spi mkrepu vewnr jektolc pijj pbipkara.
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.