Talaan ng mga Nilalaman:
- Hakbang 1: Mag-download ng Xcode
- Hakbang 2: Magsimula Na Tayo
- Hakbang 3: Nagtatrabaho sa UI
- Hakbang 4: Bumuo ng isang Pangalawang Controller at Magsimula ng Mga Segue (mga paglilipat)
- Hakbang 5: Lumikha ng Klase ng Programming para sa Proseso ng Pagrehistro
- Hakbang 6: Buuin ang Pahalang na Pag-swipe ng Pahina
- Hakbang 7: Paunlarin ang User Interface para sa mga Sub-page ng Horizontal Swipe
- Hakbang 8: Ipatupad ang Disenyo sa Xcode
- Hakbang 9: Isama ang Mga Pasadyang Kilos
Video: Lumikha ng isang View ng Scroll Sa Swift: 9 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Ilang buwan na ang nakakaraan, hindi ko alam ang pagkakaroon ng matulin at Xcode. Ngayon, nagawa kong bumuo ng isang maliit na bahagi ng application na nais kong likhain. Nakapaglikha ako ng isang bagay na cool, na nais kong ibahagi sa iyo.
Sa tutorial na ito, dadalhin ka namin sa proseso ng pagbuo ng isang tanawin ng scroll view, kung saan ang mga gumagamit ay mai-redirect kapag nais nilang magparehistro ng isang bagong account. Sa daan, sisiguraduhin kong magbigay sa iyo ng ilang mga teoretikal na paliwanag ng mga bagay na ginagawa namin, upang maunawaan mo talaga kung ano ang ginagawa namin.
Bago natin ito gawin, pag-usapan natin ang tungkol sa kung ano ang Swift at Xcode:
1. Ang matulin ay isang malakas at madaling maunawaan na wika ng programa para sa macOS, iOS, watchOS at tvOS. Ang pagsulat ng Swift code ay interactive at masaya, ang syntax ay maikli ngunit nagpapahiwatig, at ang Swift ay nagsasama ng mga modernong tampok na gusto ng mga developer. Ang Swift code ay ligtas sa pamamagitan ng disenyo, ngunit gumagawa din ng software na tumatakbo nang mabilis. Dinisenyo ito upang gumana sa mga framework ng Cocoa at Cocoa Touch ng Apple at ang malaking katawan ng mayroon nang Objective-C code na nakasulat para sa mga produktong Apple. Ito ay binuo gamit ang bukas na mapagkukunan ng LLVM compiler framework at isinama sa Xcode mula noong bersyon 6, na inilabas noong 2014. Sa mga platform ng Apple, ginagamit nito ang library ng runtime ng Objective-C na nagpapahintulot sa C, Objective-C, C ++ at Swift code na tumakbo sa loob ng isang programa.
2. Ang Xcode ay isang integrated development environment (IDE) para sa macOS na naglalaman ng isang suite ng mga tool sa pag-unlad ng software na binuo ng Apple para sa pagbuo ng software para sa macOS, iOS, watchOS, at tvOS.
Hakbang 1: Mag-download ng Xcode
Kasama sa Xcode 10 ang lahat ng kailangan mo upang lumikha ng mga kamangha-manghang mga app para sa lahat ng mga platform ng Apple. Ngayon ang Xcode at Mga Instrumento ay mukhang mahusay sa bagong Madilim na Mode sa macOS Mojave. Hinahayaan ka ng editor ng source code na ibahin ang anyo mo o mas mahusay ang code ng refactor, tingnan ang mga pagbabago sa pagkontrol ng mapagkukunan sa tabi ng nauugnay na linya, at mabilis na makakuha ng mga detalye sa mga pagkakaiba sa upstream code. Maaari kang bumuo ng iyong sariling instrumento gamit ang pasadyang visualization at pagtatasa ng data. Ang mabilis na pag-compile ng software ay mas mabilis, tumutulong sa iyong maghatid ng mas mabilis na mga app, at bumubuo ng kahit na mas maliit na mga binary. Ang mga test suite ay kumpleto nang maraming beses nang mas mabilis, ang pagtatrabaho sa isang koponan ay mas simple at mas ligtas, at higit pa.
Kasama sa Xcode 10 ang Swift 4.2, na mas mabilis na nag-iipon ng iyong software, tumutulong sa iyong maghatid ng mas mabilis na mga app, at bumubuo ng mas maliit na mga binary. Kung ikukumpara sa Swift 4.0, ang pinakabagong tagatala ng Swift ay maaaring bumuo ng malalaking apps nang higit sa dalawang beses nang mas mabilis. * Pagsama sa bagong Xcode bagong build system, ang iyong pang-araw-araw na pag-edit, pagbuo, at pagsubok ng daloy ng trabaho ay mas mabilis. Na-optimize para sa pinakabagong multi-core Mac hardware, Xcode at Swift na ginawa para sa isang mabilis na pag-unlad na platform.
Hakbang 2: Magsimula Na Tayo
Kaya kung ano ang gagawin namin ay pumunta sa Xcode at lumikha ng isang bagong proyekto. Kapag na-click namin ang isang bagong proyekto ang aming application ay magiging isang solong view app. Para sa mga hindi nakakaalam, ang isang solong view app ay nangangahulugang kakailanganin mong simulan ang lahat mula sa simula at magkakaroon ng isang solong pagtingin na maaari naming mai-program.
Pangalanan ang iyong produkto na TutorialApp. Kung ikaw ay isang may karanasan na developer na naglalathala ng mga app sa App Store marahil ay magkakaroon ka ng isang koponan, ngunit kung bago ka at wala kang anumang na-publish na mga application, maaari mong laktawan ang larangan na ito. Sa pangalan ng samahan, maaari mong isulat ang pangalan ng kumpanya kung sakaling mayroon kang isa, sa aking kaso ay itatago ko lamang ang MacBook Pro. Pagkatapos, ang Organizer Identifier ay isinasaalang-alang bilang isang bagay tulad ng isang natatanging identifier ng iyong proyekto, samakatuwid, maaari mong isulat ang anumang nais mo. Ang wika ay tiyak na magiging mabilis.
Kaya, pindutin ang susunod at i-save natin ang proyekto sa desktop upang madali itong ma-access.
Ang bagong proyekto ay binubuo ng tatlong mga file, AppDelegate.swift, ViewController.swift, at ang bituin ng tutorial na ito: Main.storyboard. Sa ilalim ng Impormasyon sa Pag-deploy> Orientasyon ng Device sa mga pangkalahatang setting ng proyekto, itakda ang Mga Device sa iPhone. Dahil ito ay isang potograpiya lamang na app, alisan ng check ang mga pagpipilian sa Landscape Leftand Landscape na pagpipilian. Buksan ang Main.storyboard sa navigator ng proyekto upang matingnan ito sa Interface Buildereditor:
Hindi kami gagawa ng anumang mga pagbabago sa pagsasaayos at dumiretso kami sa pangunahing storyboard. Dahil gumawa kami ng isang solong view app, gumawa kami ng isang solong solong, blangko, tingnan. Ito ay isang bagay na kailangan nating pagtrabaho.
Hakbang 3: Nagtatrabaho sa UI
Ang opisyal na terminolohiya ng storyboard para sa isang view controller ay "eksena", ngunit maaari mong gamitin ang mga term na palitan. Ang isang eksena ay kumakatawan sa isang view controller sa storyboard.
Makikita mo rito ang isang solong view controller na naglalaman ng isang walang laman na pagtingin. Ang arrow na tumuturo sa view controller mula sa kaliwa ay nagpapahiwatig na ito ang paunang view controller upang maipakita para sa storyboard na ito. Ang pagdidisenyo ng isang layout sa editor ng storyboard ay ginagawa sa pamamagitan ng pag-drag ng mga kontrol mula sa Object Library (tingnan ang kanang sulok sa kanan) papunta sa iyong view controller.
Upang makaramdam kung paano gumagana ang editor ng storyboard, i-drag ang ilang mga kontrol mula sa Object Library papunta sa blangkong view controller tulad ng nakikita sa video.
Tulad ng pag-drag mo sa mga kontrol, dapat silang magpakita sa Balangkas ng Dokumento sa kaliwa.
Maaari mong likhain ang User Interface na gusto mo. Sa aking kaso, ginamit ko ang nakikita mo sa larawan.
Hakbang 4: Bumuo ng isang Pangalawang Controller at Magsimula ng Mga Segue (mga paglilipat)
Kaya, sa aking app, kapag pinindot ng gumagamit ang pindutang "Magrehistro ng Bagong Account", nais kong mai-redirect siya sa pahina ng rehistro ng account. Kaya't para sa hangaring iyon, ang bawat solong pahina ay isang bagong eksena, isang bagong pagpapakita. Para sa kadahilanang iyon, kailangan naming lumikha ng isang pangalawang view controller, na maaari mong makita sa object library.
I-type ang view controller at ilagay ito sa tabi ng iyong paunang view controller. Magiging responsable ang eksenang ito para sa control view ng rehistro. Ang pag-redirect sa pahinang iyon ay maaaring gawin sa dalawang paraan:
- magagawa natin ito nang manu-mano kapag gumawa kami ng isang koneksyon sa pagkilos mula sa pindutan hanggang sa iba pang kontrol sa pagtingin
- magagawa natin ito sa programatically
Ang pinili kong gawin ay gawin itong manu-mano. Ito ay simple tulad nito:
- Gumawa ng isang kaliwang pag-click sa iyong pindutan (sa aking kaso, Magrehistro ng Bagong Account)
- Pindutin nang matagal ang pag-click at kaliwang pag-click sa mouse upang i-drag ito sa rehistro ng kontrol ng rehistro.
- Bitawan ito doon at piliin ang "Kasalukuyang Modally"
Hakbang 5: Lumikha ng Klase ng Programming para sa Proseso ng Pagrehistro
Kaya, ngayon nais naming lumikha ng isang nakalaang klase ng pag-encode para sa bagong eksena.
Upang magawa ito kailangan mong gawin ang mga sumusunod na hakbang:
- mag-right click sa iyong folder ng proyekto
- mag-click sa bagong file na tinatawag na cocoa touch class
- sa klase sumulat: MagrehistroVC
- NAPAKA IMPORTANTE! Siguraduhin na ang subclass ay dapat na uri ng UIViewController
- wika ay dapat na mabilis.
- i-click ang susunod at i-save ang iyong klase ng kakaw sa loob ng pangunahing ugat ng iyong proyekto.
- Mag-click sa pangunahing storyboard at pumunta sa bagong view controller
- mag-click sa dilaw na pindutan na nakalagay sa itaas nito
- sa kanan pumunta sa inspektor ng klase at gumawa ng isang sanggunian sa Magrehistro VC (klase ng Costum, klase = MagrehistroVC
Hakbang 6: Buuin ang Pahalang na Pag-swipe ng Pahina
Sa iOS, ginagamit ang mga view ng scroll upang matingnan ang nilalaman na hindi ganap na magkakasya sa screen. Ang mga view ng scroll ay mayroong dalawang pangunahing layunin:
Upang hayaan ang mga gumagamit na i-drag ang lugar ng nilalamang nais nilang ipakita, upang hayaan ang mga gumagamit na mag-zoom in o labas ng ipinakitang nilalaman gamit ang mga kilos na kurot. Isang karaniwang kontrol na ginamit sa mga iOS app - UITableView - ay isang subclass ng UIScrollView at nagbibigay ng isang mahusay na paraan upang matingnan ang nilalaman na mas malaki sa screen.
Ano ang gumagamit ng mga sub-page sa isang pahalang na mag-swipe?
Kaya, kung lumikha ako ng 6 na magkakaibang mga pahina, nangangahulugan ito na kailangan kong lumikha ng isang nakalaang klase para sa bawat isa sa kanila at hindi ganoon kadali na ipasa ang impormasyon mula sa isang klase patungo sa isa pa. Kapag halimbawa ang nai-type ko ang aking email at pagkatapos ay nag-click sa susunod, kung mayroon akong ibang view controller, iiwan ko ang unang pahina ng View Controller at pagkatapos ay ipapakita ang pangalawa. Sa kasong ito, ang impormasyon ng unang view controller, dapat na maipasa sa susunod at pagkatapos ay muli sa pangatlong view controller atbp Kapag mayroon ako ng lahat ng mga view control na kailangan ko, kakailanganin kong kolektahin ang lahat ng data mula sa lahat ang mga pahina at ipadala ang mga ito sa server. Kaya, ito ay talagang kumplikado.
Kaya, sa paglipat sa paglikha ng view control na ito, sa aking kaso, mayroon akong 5 mga pahina na nais kong likhain:
- Buong pangalan
- Password
- Araw ng kapanganakan
- Kasarian
Nangangahulugan ito, na ang view controller na gagawin namin, ay dapat na 5 beses na mas malaki kaysa sa ginawa namin dati.
Piliin ang iyong view controller at pumunta sa tuktok, kanang sulok at mag-click sa icon ng pinuno at i-edit ang Simulate na Laki. Pipili ka ng Freeform upang maiayos ang lapad at taas. Ang default na lapad ng screen na angkop para sa iphone 8 ay 375, kaya't kung dumami ako ng 375 * 5 = 1875. At narito ka, mayroon kang isang pinalawak na view controller.
Katulad nito, sinusunod mo ang parehong proseso para sa lahat ng iba't ibang mga telepono at laki ng screen.
Upang mapagana ang pag-scroll view, kailangan namin ng isang object ng scroll view. Nagbibigay ang Scroll View ng isang mekanismo upang maipakita ang nilalaman na mas malaki kaysa sa laki ng window ng application. Mag-click sa bagay na ito, i-drag ito at ilagay ito sa kaliwang sulok sa tuktok ng view controller at tiyakin na ang X at Y ay nasa mga zero na posisyon at ang kahabaan ay naaayon sa iyong view controller.
Pinapayagan lamang kami ng Scroll View na mag-scroll, wala nang iba pa. Pagkatapos ay kailangan naming magdagdag ng isang view ng nilalaman, na kung saan ay magtatago ng iba pang mga view. Maaari mong makita ang UIView - kumakatawan ito sa isang hugis-parihaba na rehiyon kung saan ito kumukuha at tumatanggap ng mga kaganapan - sa object library. Simple lang, i-click at i-drag ito sa view ng scroll at muli, iunat ito nang naaayon.
Piliin ang view ng scroll mula sa kaliwang panel at tatawagan namin ang pagkakahanay 0, 0, 0, 0 at magdagdag ng mga hadlang. Gawin ang parehong bagay para sa pagtingin sa nilalaman.
Hakbang 7: Paunlarin ang User Interface para sa mga Sub-page ng Horizontal Swipe
Sa hakbang na ito, kailangan mong likhain ang UI ng iyong mga sub-page. Ang pinili kong gawin, ay gumawa ng isang prototype sa Sketch at pagkatapos ay itayo ito sa Xcode.
Hakbang 8: Ipatupad ang Disenyo sa Xcode
Ang susunod na hakbang ay ipatupad ang disenyo na ito sa Xcode. Upang magawa ito, kailangan mong lumikha ng mga koneksyon sa outlet para sa lahat ng mga sub-page at lumikha ng isa pa para sa "pagtingin sa ina", ibig sabihin, isang koneksyon sa outlet para sa buong view controller.
Ang mga elemento sa isang storyboard ay naka-link sa source code. Mahalagang maunawaan ang ugnayan ng isang storyboard sa code na iyong sinusulat.
Sa isang storyboard, kumakatawan ang isang eksena sa isang screen ng nilalaman at karaniwang isang view controller. Ipinapakita ng mga taga-kontrol ang pag-uugali ng iyong app at namamahala ng isang solong pagtingin sa nilalaman kasama ang hierarchy ng mga subview nito. Iniuugnay nila ang daloy ng impormasyon sa pagitan ng modelo ng data ng app, na nagpapaloob sa data ng app, at ng mga panonood na nagpapakita ng data na iyon, pinamamahalaan ang ikot ng buhay ng kanilang mga view ng nilalaman, pinangangasiwaan ang mga pagbabago sa oryentasyon kapag pinaikot ang aparato, tukuyin ang pag-navigate sa loob ng iyong app, at ipatupad ang pag-uugali upang tumugon sa pag-input ng gumagamit. Lahat ng mga view ng object object sa iOS ay uri ng UIViewController o isa sa mga subclass nito.
Tinutukoy mo ang pag-uugali ng iyong mga kontrol sa view sa code sa pamamagitan ng paglikha at pagpapatupad ng mga subclass ng pasadyang view ng pasadya. Maaari ka ring lumikha ng isang koneksyon sa pagitan ng mga klase at eksenang iyon sa iyong storyboard upang makuha ang pag-uugali na tinukoy mo sa code at ang interface ng gumagamit na tinukoy mo sa iyong storyboard.
Nakalikha na ang Xcode ng isang ganoong klase na tiningnan mo nang mas maaga, ViewController.swift, at ikinonekta ito sa tanawin na iyong ginagawa sa iyong storyboard. Sa pagdaragdag mo ng higit pang mga eksena, gagawin mo mismo ang koneksyon na ito sa inspektor ng Identity. Hinahayaan ka ng inspektor ng Identity na mag-edit ng mga katangian ng isang bagay sa iyong storyboard na nauugnay sa pagkakakilanlan ng bagay na iyon, tulad ng kung anong klase kabilang ang object.
Lumikha ng Mga Outlet para sa Mga Elemento ng UI Ang mga outlet ay nagbibigay ng isang paraan upang mag-refer ng mga object ng interface-ang mga bagay na idinagdag mo sa iyong storyboard-mula sa mga file ng source code. Upang lumikha ng isang outlet, Control-drag mula sa isang partikular na bagay sa iyong storyboard patungo sa isang view file ng controller. Lumilikha ang operasyong ito ng isang pag-aari para sa object sa iyong view controller file, na hinahayaan kang ma-access at manipulahin ang bagay na iyon mula sa code sa runtime
- Buksan ang iyong storyboard, Main.storyboard.
- I-click ang pindutan ng Assistant sa toolbar ng Xcode malapit sa kanang sulok sa itaas ng Xcode upang buksan ang editor ng katulong. Kung nais mo ng mas maraming puwang upang gumana, pagbagsak ng proyekto ng navigator at utility area sa pamamagitan ng pag-click sa mga pindutan ng Navigator at Mga Utility sa toolbar ng Xcode.
- Maaari mo ring pagbagsak ng outline view.
Sa bar ng tagapili ng editor, na lilitaw sa tuktok ng katulong na editor, baguhin ang katulong na editor mula sa Preview sa Awtomatiko> ViewController.swift.
I-click ang sub-pahina at i-drag sa naaangkop na klase sa code.
Hakbang 9: Isama ang Mga Pasadyang Kilos
SWIPE GESTURE
Ang isang kilos na mag-swipe ay nangyayari kapag ang gumagamit ay gumagalaw ng isa o higit pang mga daliri sa buong screen sa isang tukoy na pahalang o patayong direksyon. Gamitin ang klase ng UISwipeGestureRecognizer upang makita ang kilos ng pag-swipe.
Pagpapatupad ng kilos na mag-swipe
Hakbang 1: Magdagdag ng mga swipe na (Mga) Kilos sa viewDidLoad () na pamamaraan
i-override ang func viewDidLoad () {super.viewDidLoad ()
hayaan ang swipeLeft = UISwipeGestureRecognizer (target: sarili, pagkilos: #selector (handleGesture)) swipeLeft.direction =.left self.view.addGestureRecognizer (swipeLeft)
hayaan ang swipeRight = UISwipeGestureRecognizer (target: sarili, pagkilos: #selector (handleGesture)) swipeRight.direction =. Right self.view.addGestureRecognizer (swipeRight)
hayaan ang swipeUp = UISwipeGestureRecognizer (target: sarili, pagkilos: #selector (handleGesture)) swipeUp.direction =.up self.view.addGestureRecognizer (swipeUp)
let swipeDown = UISwipeGestureRecognizer (target: self, action: #selector (handleGesture)) swipeDown.direction =.down self.view.addGestureRecognizer (swipeDown)}
Hakbang 2: Suriin ang pagtuklas ng kilos sa handleGesture () na paraan func handleGesture (kilos: UISwipeGestureRecognizer) -> I-void {kung gesture.direction == UISwipeGestureRecognizerDirection. Right {print ("Swipe Right")} pa kung gesture.direction == UISwipeGestureRecognizer. kaliwa {print ("Swipe Left")} iba pa kung gesture.direction == UISwipeGestureRecognizerDirection.up {print ("Swipe Up")} pa kung gesture.direction == UISwipeGestureRecognizerDirection.down {print ("Swipe Down")}}
Sa aking app, nais kong gumamit ng swipeRight, ngunit nahulog nang malaya upang magamit ang isa na mas naaangkop para sa iyong aplikasyon.
Ngayon, ipatupad natin ito sa aming code.
Pumunta kami sa registerVC.swift na nilikha namin dati at isulat ang code na nakikita mo sa mga larawan.
PAGLALAHAD NG CODE
hayaan ang kasalukuyang_x pagkuha ng kasalukuyang posisyon ng ScrollView (pahalang na posisyon) hayaan ang screen_width na makuha ang lapad ng screen, ibabawas ang laki na ito hayaan new_x mula sa kasalukuyang posisyon ng scrollview, bumalik ako sa pamamagitan ng lapad ng screen kung current_x> 0 hanggang maliban kung ito ay higit sa 0 - 0 ang unang pahina.
At tapos na tayo!
Magaling mga kasama!
Inirerekumendang:
Paano Lumikha ng isang Website (isang Hakbang-Hakbang na Patnubay): 4 na Hakbang
Paano Lumikha ng isang Website (isang Hakbang-Hakbang na Patnubay): Sa gabay na ito, ipapakita ko sa iyo kung paano itinatayo ng karamihan sa mga web developer ang kanilang mga site at kung paano mo maiiwasan ang mga mamahaling tagabuo ng website na madalas na masyadong limitado para sa isang mas malaking site. tulungan kang maiwasan ang ilang pagkakamali na nagawa ko noong nagsimula ako
Lumikha ng isang Laser Driver Mula sa isang Arduino Board .: 6 Mga Hakbang (na may Mga Larawan)
Lumikha ng isang Laser Driver Mula sa isang Arduino Board .: Ang itinuturo na ito ay upang bumuo ng isang laser driver mula sa isang Arduino based board para sa isang 5 mW Adafruit laser. Pinili ko ang isang Arduino board dahil baka gusto kong makontrol ang laser mula sa aking computer sa hinaharap. Gagamitin ko rin ang sample na Arduino code upang
Paano Gumawa ng isang Autonomous Basketball Playing Robot Paggamit ng isang IRobot Lumikha Bilang Base: 7 Mga Hakbang (na may Mga Larawan)
Paano Gumawa ng isang Autonomous Basketball Playing Robot Paggamit ng isang IRobot Lumikha Bilang Base: Ito ang aking entry para sa hamon sa iRobot Lumikha. Ang pinakamahirap na bahagi ng buong prosesong ito para sa akin ay ang pagpapasya kung ano ang gagawin ng robot. Nais kong ipakita ang mga cool na tampok ng Lumikha, habang nagdaragdag din sa ilang robo flair. Lahat ng akin
Gawing isang TI Graphing Calculator Sa isang Intervalometer at Lumikha ng Mga Video ng Paglipas ng Oras: 7 Mga Hakbang (na may Mga Larawan)
Gawing isang TI Graphing Calculator sa isang Intervalometer at Lumikha ng Mga Video ng Paglipas ng Oras: Palagi kong nais na gumawa ng mga video na lumipas ng oras, ngunit wala akong camera na may naka-built na tampok na intervalometer. Sa katunayan, sa palagay ko ay hindi masyadong marami ang mga camera ay may kasamang isang tampok (lalo na hindi mga SLR camera). Kaya ano ang nais mong gawin kung nais mong
Lumikha ng isang Joule Thief LED Torch o Nightlight sa pamamagitan ng Pag-recycle ng isang Kodak Disposable Camera .: 11 Mga Hakbang (na may Mga Larawan)
Lumikha ng isang Joule Thief LED Torch o Nightlight sa pamamagitan ng Pag-recycle ng isang Kodak Disposable Camera .: Matapos makita ang impormasyon sa mga driver ng Joule Thief LED sa internet nagpasya akong subukan ang paggawa sa kanila. Matapos makakuha ng ilang mga yunit na nagtatrabaho nagsimula akong mag-eksperimento (tulad ng karaniwang ginagawa ko) na may iba't ibang mga mapagkukunan ng mga bahagi mula sa mga bagay na maaari kong mag-recycle. Natagpuan ko na