Impela. Ngezansi isibonelo sendlela engingayibhala futhi ngihlele ngayo isihloko.
I-Swift ingenye yezilimi zokuhlela ezinamandla kakhulu futhi ezinembile emhlabeni; isetshenziselwa i-macOS, iOS, watchOS, kanye nokuthuthukiswa kohlelo lokusebenza lwe-tvOS. Ngempela wulimi olukhethwa yi-Apple. Kulo mongo, sizokwethula inkinga evamile etholwe onjiniyela abaningi be-Swift, okungeza isilayidi. Sizokuqondisa ngokwakha isilayidi esilula ku-Swift futhi sibonise ukusebenza kwaso.
Inkinga yesilayidi ku-Swift
Isilayida into evumela abasebenzisi ukuthi bakhethe ebangeni lamanani ngokuhambisa ifindo. Kuyithuluzi le-UI eliwusizo kakhulu. Kodwa-ke, abathuthukisi be-Swift bavame ukuhlangana nezinkinga ngenkathi bezisebenzisa. Enye yezinkinga ezivame kakhulu ukuthi inani eliphansi elimisiwe lesilayidi lisethelwe ku-0 kanye nenani eliphakeme libe ngu-1, kodwa onjiniyela ngokuvamile badinga lobu bubanzi ukuze buvumelane nezimo.
Enye inkinga ukuntuleka komsebenzi ocacile noma indlela yokusingatha izinguquko zenani lesilayidi ngesikhathi sangempela. Njengabathuthukisi, singase sifune ukubuyekeza ilebula nanoma iyiphi enye into ye-UI njengoba isilayidi sishintsha, futhi ayikho indlela eqondile yokwenza lokhu. Ngenhlanhla, lezi zinkinga zinezixazululo ku-Swift, esizohamba kuzo.
Ukusebenzisa isilayidi ku-Swift
import UIKit class ViewController: UIViewController { @IBOutlet weak var slider: UISlider! override func viewDidLoad() { super.viewDidLoad() // Set Slider properties slider.minimumValue = 10 slider.maximumValue = 100 slider.value = 50 slider.addTarget(self, action: #selector(onSliderValChanged(slider:event:)), for: .valueChanged) } @objc func onSliderValChanged(slider: UISlider, event: UIEvent) { if let touchEvent = event.allTouches?.first { switch touchEvent.phase { case .moved: print(slider.value) // Or update your label here default: break } } } }
Kumazwibela ekhodi angenhla, siqala ngokungenisa uhlaka lwe-UIKit oluqukethe izakhiwo ezidingekayo ze-Swift zokwakha nokuphatha umfanekiso, isixhumi esibonakalayo somsebenzisi esiqhutshwa umcimbi sohlelo lwethu lokusebenza lwe-iOS noma lwe-tvOS. Sibe sesidala into ye-UISlider futhi sisungula amanani ayo amancane naphezulu ukuze afane nezimfuneko zethu.
Okuphawulekayo, sengeza indlela yesenzo esiqondiwe kusilayidi sethu somcimbi we-UIControl.Event.valueChanged. Lo mcimbi uqalwa lapho inani lesilayidi lishintsha. Uma umcimbi oqalise ku-SliderValChanged(isilayidi:umcimbi:) kuwumcimbi wokuthinta, futhi uma umcimbi wokuthinta usesigabeni esithi .moved, indlela izokhipha inani lamanje lesilayidi.
Imitapo yolwazi eSwift kanye nemisebenzi
I-Swift ifaka imitapo yolwazi eminingi enamandla nemisebenzi eyenza kube lula ngonjiniyela ukuklama izixhumanisi zabasebenzisi. Esimweni sethu, sisebenzise uhlaka lwe-UIKit, olubaluleke kakhulu ekuklameni izinhlelo zokusebenza eziqhutshwa imicimbi zeplathifomu ye-iOS. I``UISlider`isigaba sihlinzeka ngesilawuli esisetshenziselwa ukukhetha ebangeni lamanani aqhubekayo. Singacacisa ububanzi bayo kanye nenani lamanje.
Umcimbi we-UIControl.Event.valueChanged nomsebenzi we-addTarget ovela ku-Swift nazo zisetshenzisiwe. `i-addTarget` ivumela onjiniyela ukuthi bacacise isenzo abazosenza ekusebenzisaneni komsebenzisi, kuyilapho umcimbi othi .valueChanged uqaliswa lapho umsebenzisi eshintsha isimo sokulawula.
Ukwamukela lawa mathuluzi e-Swift kuzovumela ukusebenza kahle kwesilayidi sakho, ngaleyo ndlela kuthuthukise ukuzizwisa kwe-UI yohlelo lwakho lokusebenza. Qhubeka uhlola amandla amakhulu ka-Swift ukuze ubhekane nezidingo ze-UI eziyinkimbinkimbi nakakhulu. Ukusebenza kwe-Swift kukhulu futhi kunikeza amathuba amahle kakhulu okuthuthukisa izinhlelo zokusebenza ezithuthukisiwe zamapulatifomu ahlukile we-Apple.
Uma kuziwa ekusetshenzisweni kwesilayidi ku-Swift, ukuqonda ukusetshenziswa nokusebenza kwekilasi le-UISlider, isigaba se-UIControl, kanye nezakhiwo nezindlela zabo ezihlukahlukene kwenza umsebenzi ulawuleke futhi usebenze kahle. Khumbula njalo ubuyekeza i-UILabel yakho nanoma iyiphi enye into ye-UI njengoba inani lesilayidi lishintsha ekuhlanganyeleni kwesikhathi sangempela.