Satura rādītājs:

Izveidojiet ritināšanas skatu, izmantojot Swift: 9 soļi
Izveidojiet ritināšanas skatu, izmantojot Swift: 9 soļi

Video: Izveidojiet ritināšanas skatu, izmantojot Swift: 9 soļi

Video: Izveidojiet ritināšanas skatu, izmantojot Swift: 9 soļi
Video: Заброшенный южный коттедж Салли в США — неожиданное открытие 2024, Jūlijs
Anonim
Image
Image

Pirms dažiem mēnešiem es nezināju, ka pastāv swift un Xcode. Šodien es varēju izstrādāt nelielu daļu no lietojumprogrammas, kuru vēlos izveidot. Varēju izveidot ko foršu, ar ko vēlos padalīties ar jums.

Šajā apmācībā es jūs iepazīstināšu ar ritināšanas skata ainas veidošanas procesu, kurā lietotāji tiks novirzīti, kad viņi vēlas reģistrēt jaunu kontu. Pa ceļam es noteikti sniegšu dažus teorētiskus paskaidrojumus par to, ko mēs darām, lai jūs varētu saprast, ko mēs darām.

Pirms mēs to darām, parunāsim par to, kas ir Swift un Xcode:

1. Swift ir spēcīga un intuitīva programmēšanas valoda macOS, iOS, watchOS un tvOS. Swift koda rakstīšana ir interaktīva un jautra, sintakse ir kodolīga, tomēr izteiksmīga, un Swift ietver mūsdienīgas izstrādātāju iecienītas funkcijas. Swift kods pēc konstrukcijas ir drošs, tomēr ražo arī programmatūru, kas darbojas zibenīgi. Tas ir paredzēts darbam ar Apple kakao un kakao pieskāriena ietvariem un lielo esošā Objective-C koda kopumu, kas rakstīts Apple produktiem. Tā ir veidota, izmantojot atvērtā pirmkoda LLVM kompilatora sistēmu, un ir iekļauta Xcode kopš 6. versijas, kas tika izlaista 2014. gadā. Apple platformās tā izmanto Objective-C izpildlaika bibliotēku, kas ļauj palaist C, Objective-C, C ++ un Swift kodu vienas programmas ietvaros.

2. Xcode ir integrēta MacOS izstrādes vide (IDE), kas satur programmatūras izstrādes rīku komplektu, ko izstrādājis Apple, lai izstrādātu programmatūru macOS, iOS, watchOS un tvOS.

1. darbība: lejupielādējiet Xcode

Darbs lietotāja saskarnē
Darbs lietotāja saskarnē

Xcode 10 ietver visu nepieciešamo, lai izveidotu pārsteidzošas lietotnes visām Apple platformām. Tagad Xcode un Instruments izskatās lieliski jaunajā tumšajā režīmā MacOS Mojave. Avota koda redaktors ļauj vieglāk pārveidot vai pārveidot kodu, skatīt avota vadības izmaiņas līdzās saistītajai rindai un ātri iegūt informāciju par augšupējā koda atšķirībām. Jūs varat izveidot savu instrumentu, izmantojot pielāgotu vizualizāciju un datu analīzi. Swift ātrāk apkopo programmatūru, palīdz piegādāt ātrāk lietotnes un ģenerē vēl mazākus bināros failus. Testa komplekti tiek pabeigti daudzas reizes ātrāk, darbs ar komandu ir vienkāršāks un drošāks, kā arī daudz kas cits.

Xcode 10 ietver Swift 4.2, kas ātrāk apkopo jūsu programmatūru, palīdz piegādāt ātrāk lietotnes un ģenerē vēl mazākus bināros failus. Salīdzinot ar Swift 4.0, jaunākais Swift kompilators var izveidot lielas lietotnes vairāk nekā divas reizes ātrāk.* Kopā ar jauno Xcode jaunās būvēšanas sistēmu jūsu ikdienas rediģēšanas, veidošanas un pārbaudes darbplūsma ir daudz ātrāka. Xcode un Swift, kas ir optimizēta jaunākajai daudzkodolu Mac aparatūrai, nodrošina zibenīgi ātru izstrādes platformu.

2. darbība. Sāksim darbu

Image
Image

Tātad, ko mēs darīsim, ir doties uz Xcode un izveidot jaunu projektu. Kad mēs noklikšķināsim uz jauna projekta, mūsu lietojumprogramma būs viena skata lietotne. Tiem, kas nezina, viena skata lietotne nozīmē, ka jums viss būs jāsāk no nulles un ka mēs varēsim ieprogrammēt vienu skatu.

Nosauciet produkta nosaukumu TutorialApp. Ja esat pieredzējis izstrādātājs, kurš publicē lietotnes App Store, jums, iespējams, būs komanda, bet, ja esat jauns un neesat publicējis nevienu lietojumprogrammu, varat šo lauku izlaist. Organizācijas nosaukumā varat ierakstīt uzņēmuma nosaukumu, ja jums tāds ir, manā gadījumā es tikai paturēšu MacBook Pro. Tad organizācijas identifikators tiek uzskatīts par kaut ko līdzīgu jūsu projekta unikālajam identifikatoram, tāpēc jūs varat rakstīt visu, ko vēlaties. Valoda noteikti būs ātra.

Tātad, nospiediet nākamo un saglabāsim projektu darbvirsmā, lai tam būtu viegli piekļūt.

Jaunais projekts sastāv no trim failiem - AppDelegate.swift, ViewController.swift un šīs apmācības zvaigznes: Main.storyboard. Vispārējos projekta iestatījumos sadaļā Izvietošanas informācija> Ierīces orientācija iestatiet Ierīces uz iPhone. Tā kā šī ir tikai portreta lietotne, noņemiet atzīmi no opcijām Ainava pa kreisi un Ainava pa labi. Projekta navigatorā atveriet Main.storyboard, lai to skatītu interfeisa veidotājā:

Mēs neveiksim nekādas izmaiņas konfigurācijā, un mēs dosimies tieši uz galveno sižetu. Tā kā mēs izveidojām viena skata lietotni, mēs izveidojām vienkāršu vienu tukšu skatu. Pie tā mums ir jāstrādā.

3. darbība. Darbs lietotāja saskarnē

Darbs lietotāja saskarnē
Darbs lietotāja saskarnē
Darbs lietotāja saskarnē
Darbs lietotāja saskarnē

Oficiālā skatu kontroliera terminoloģijas terminoloģija ir “aina”, taču terminus varat lietot savstarpēji aizstājot. Sižets attēlo skata kontrolieri.

Šeit jūs redzat vienu skata kontrolieri, kurā ir tukšs skats. Bultiņa, kas vērsta uz skata kontrolieri no kreisās puses, norāda, ka tas ir sākotnējais skata kontrolieris, kas jāparāda šai sižetiskajai shēmai. Izkārtojuma izstrāde sižetu redaktorā tiek veikta, velkot vadīklas no objektu bibliotēkas (sk. Augšējo labo stūri) skata kontrollerī.

Lai sajustu, kā darbojas sižeta redaktors, velciet dažas vadīklas no objektu bibliotēkas uz tukšā skata kontrolieri, kā redzams videoklipā.

Velkot vadīklas, tām vajadzētu parādīties dokumenta kontūrā kreisajā pusē.

Jūs varat izveidot vajadzīgo lietotāja interfeisu. Manā gadījumā es izmantoju to, ko redzat attēlā.

4. darbība. Izstrādājiet otrā skata kontrolieri un ierosiniet secības (pārejas)

Image
Image
Veidojiet lapas vilkšanu horizontāli
Veidojiet lapas vilkšanu horizontāli

Tātad, manā lietotnē, kad lietotājs nospiež pogu "Reģistrēt jaunu kontu", es vēlos, lai viņš tiktu novirzīts uz konta reģistrēšanas lapu. Tāpēc šim nolūkam katra lapa ir jauna aina, jauns displejs. Šī iemesla dēļ mums ir jāizveido otrs skata kontrolieris, kuru varat atrast objektu bibliotēkā.

Ierakstiet skata kontrolieri un novietojiet to blakus sākotnējam skata kontrolierim. Šī aina būs atbildīga par reģistra skata kontrolieri. Pāradresāciju uz šo lapu var veikt divos veidos:

  1. mēs to varam izdarīt manuāli, kad no pogas izveidojam darbības savienojumu ar citu skata vadīklu
  2. mēs to varam izdarīt programmētiski

Es izvēlējos to izdarīt manuāli. Tas ir tik vienkārši:

  1. Veiciet vienu kreiso klikšķi uz savas pogas (manā gadījumā reģistrēt jaunu kontu)
  2. Turiet komandu un peles kreiso taustiņu, lai vilktu to uz reģistra vadības ainu.
  3. Atlaidiet to tur un izvēlieties “Present Modally”

5. darbība: izveidojiet programmēšanas klasi reģistrācijas procesam

Tātad, tagad mēs vēlamies izveidot īpašu kodēšanas klasi jaunajai ainai.

Lai to izdarītu, jums jāveic šādas darbības:

  • ar peles labo pogu noklikšķiniet uz projekta mapes
  • noklikšķiniet uz jaunā faila ar nosaukumu kakao pieskāriena klase
  • klasē rakstīt: RegisterVC
  • ĻOTI SVARĪGS! Pārliecinieties, ka apakšklasei jābūt UIViewController tipa
  • valodai jābūt ātrai.
  • noklikšķiniet uz Tālāk un saglabājiet savu kakao klasi projekta galvenajā saknē.
  • Noklikšķiniet uz galvenās sižeta un dodieties uz jauno skata kontrolieri
  • noklikšķiniet uz dzeltenās pogas, kas atrodas virs tās
  • labajā pusē dodieties pie klases inspektora un izdariet atsauci uz reģistra VC (Costum class, class = RegisterVC

6. darbība. Veidojiet lapas horizontālu vilkšanu

Operētājsistēmā iOS ritināšanas skati tiek izmantoti, lai skatītu saturu, kas pilnībā neietilpst ekrānā. Ritināšanas skatiem ir divi galvenie mērķi:

Lai ļautu lietotājiem vilkt rādāmā satura apgabalu, ļautu lietotājiem tuvināt vai tālināt parādīto saturu, izmantojot šķipsnu žestus. Kopīga vadība, ko izmanto iOS lietotnēs - UITableView - ir UIScrollView apakšklase un nodrošina lielisku veidu, kā apskatīt saturu, kas ir lielāks par ekrānu.

Kā izmantot apakšlapas horizontālā vilkšanā?

Ja es izveidotu 6 dažādas lapas, tas nozīmētu, ka man ir jāizveido īpaša klase katrai no tām, un nav tik ērti nodot informāciju no vienas klases otrai. Ja, piemēram, es ierakstīšu savu e -pastu un pēc tam noklikšķiniet uz Tālāk, ja man ir cits skata kontrolieris, es aiziešu no skata kontrollera pirmās lapas un pēc tam tiks parādīta otrā. Šādā gadījumā pirmā skata kontrollera informācija ir jānodod nākamajam un tad atkal trešajam skata kontrolierim utt. Kad man ir visi vajadzīgie skata kontrolieri, man būs jāapkopo visi dati no visiem lapas un nosūtiet tās uz serveri. Tātad, tas būtu patiešām sarežģīti.

Tātad, pārejot pie šī skata kontrollera izveides, manā gadījumā man bija 5 lapas, kuras es vēlējos izveidot:

  1. E -pasts
  2. Pilnais vārds
  3. Parole
  4. Dzimšanas datums
  5. Dzimums

Tas nozīmē, ka mūsu izveidotajam skata kontrolierim jābūt 5 reizes lielākam par iepriekš izveidoto.

Atlasiet skata kontrolieri un dodieties uz augšējo, labo stūri un noklikšķiniet uz lineāla ikonas un rediģējiet simulēto izmēru. Jūs izvēlēsities Freeform, lai pielāgotu platumu un augstumu. Noklusējuma ekrāna platums, kas piemērots iphone 8, ir 375, tāpēc, ja es reizinu 375*5 = 1875. Un, lūk, jums ir paplašināta skata kontrolieris.

Līdzīgi jūs veicat vienu un to pašu procesu visiem dažādiem tālruņiem un ekrāna izmēriem.

Lai ritināšanas skats darbotos, mums ir nepieciešams ritināšanas skata objekts. Ritināšanas skats nodrošina mehānismu, lai parādītu saturu, kas ir lielāks par lietojumprogrammas loga izmēru. Noklikšķiniet uz šī objekta, velciet to un novietojiet to skata kontrollera augšējā kreisajā stūrī un pārliecinieties, ka X un Y atrodas nulles pozīcijās un stiept atbilstoši jūsu skata kontrolierim.

Ritināšanas skats ļauj ritināt tikai mums, nekas cits. Tad mums jāpievieno satura skats, kurā tiks saglabāti citi skati. UIView - tas attēlo taisnstūrveida reģionu, kurā tas zīmē un saņem notikumus - var atrast objektu bibliotēkā. Vienkārši noklikšķiniet un velciet to ritināšanas skatā un vēlreiz attiecīgi izstiepiet.

Kreisajā panelī atlasiet ritināšanas skatu, un mēs izsauksim līdzinājumu 0, 0, 0, 0 un pievienosim ierobežojumus. Dariet to pašu ar satura skatu.

7. darbība. Izstrādājiet lietotāja saskarni horizontālās vilkšanas apakšlapām

Image
Image
Īstenojiet dizainu Xcode
Īstenojiet dizainu Xcode

Šajā solī jums ir jāizveido apakšlapu lietotāja interfeiss. Es izvēlējos izveidot prototipu Sketch un pēc tam izveidot to Xcode.

8. solis: īstenojiet dizainu Xcode

Īstenojiet dizainu Xcode
Īstenojiet dizainu Xcode
Īstenojiet dizainu Xcode
Īstenojiet dizainu Xcode

Nākamais solis ir ieviest šo dizainu Xcode. Lai to izdarītu, jums ir jāizveido izejas savienojumi visām apakšlapām un jāizveido vēl viens "mātes skatam", tas ir, viens izejas savienojums visam skata kontrolierim.

Stāstu elementi ir saistīti ar avota kodu. Ir svarīgi saprast sižeta saikni ar jūsu rakstīto kodu.

Sižetā sižets attēlo vienu satura ekrānu un parasti vienu skata kontrolieri. Skatu kontrolieri ievieš jūsu lietotnes uzvedību un pārvalda vienu satura skatu, izmantojot apakšskatījumu hierarhiju. Tie koordinē informācijas plūsmu starp lietotnes datu modeli, kas ietver lietotnes datus, un skatus, kas parāda šos datus, pārvalda to satura skatījumu dzīves ciklu, apstrādā orientācijas izmaiņas, pagriežot ierīci, definē navigāciju jūsu lietotnē. un ieviest uzvedību, lai reaģētu uz lietotāja ievadīto informāciju. Visi skata kontrollera objekti operētājsistēmā iOS ir UIViewController tipa vai viena no tās apakšklasēm.

Jūs definējat skata kontrolieru uzvedību kodā, izveidojot un ieviešot pielāgotas skata kontrollera apakšklases. Pēc tam varat izveidot savienojumu starp šīm klasēm un sižetiem, lai iegūtu uzvedību, ko definējāt kodā, un lietotāja interfeisu, ko definējāt sižetā.

Xcode jau ir izveidojis vienu šādu klasi, kuru apskatījāt iepriekš, ViewController.swift un pievienoja to sižetam, kurā strādājat. Pievienojot vairāk ainu, jūs pats izveidosit šo savienojumu identitātes inspektorā. Identitātes inspektors ļauj rediģēt sižetā esošā objekta rekvizītus, kas saistīti ar šī objekta identitāti, piemēram, kādai klasei objekts pieder.

Veikalu izveide lietotāja saskarnes elementiem Izvadi nodrošina iespēju no avota koda failiem atsaukties uz interfeisa objektiem-objektiem, kurus pievienojāt sižetam. Lai izveidotu kontaktligzdu, ar taustiņu Control velciet no konkrēta sižeta objekta uz skata kontrollera failu. Šī darbība izveido rekvizītu objektam jūsu skata kontrollera failā, kas ļauj piekļūt šim objektam un ar to manipulēt no koda izpildlaika laikā

  1. Atveriet savu sižetu, Main.storyboard.
  2. Lai atvērtu palīga redaktoru, Xcode rīkjoslā, kas atrodas Xcode augšējā labajā stūrī, noklikšķiniet uz pogas Asistents. Ja vēlaties vairāk vietas darbam, sakļaujiet projekta navigatoru un lietderības apgabalu, Xcode rīkjoslā noklikšķinot uz pogām Navigator un Utilities.
  3. Varat arī sakļaut kontūras skatu.

Redaktora atlases joslā, kas parādās redaktora palīga augšdaļā, nomainiet palīga redaktoru no Priekšskatījums uz Automātisks> ViewController.swift.

Noklikšķiniet uz apakšlapas un ievelciet atbilstošajā koda klasē.

9. darbība. Integrējiet pielāgotus žestus

Image
Image
Integrējiet pielāgotos žestus
Integrējiet pielāgotos žestus

ZĪMĒŠANAS ŽESTS

Pārvilkšanas žests rodas, kad lietotājs pārvieto vienu vai vairākus pirkstus pa ekrānu noteiktā horizontālā vai vertikālā virzienā. Izmantojiet klasi UISwipeGestureRecognizer, lai noteiktu pārvilkšanas žestus.

Pārvilkšanas žesta ieviešana

1. darbība. Pievienojiet pārvelkamo žestu (-us) metodē viewDidLoad ()

ignorēt func viewDidLoad () {super.viewDidLoad ()

let swipeLeft = UISwipeGestureRecognizer (mērķis: self, action: #selector (handleGesture)) swipeLeft.direction =.left self.view.addGestureRecognizer (swipeLeft)

let swipeRight = UISwipeGestureRecognizer (mērķis: self, action: #selector (handleGesture)) swipeRight.direction =. right self.view.addGestureRecognizer (swipeRight)

let swipeUp = UISwipeGestureRecognizer (mērķis: self, action: #selector (handleGesture)) swipeUp.direction =.up self.view.addGestureRecognizer (swipeUp)

let swipeDown = UISwipeGestureRecognizer (mērķis: self, action: #selector (handleGesture)) swipeDown.direction =.lejup self.view.addGestureRecognizer (swipeDown)}

2. darbība. Pārbaudiet žestu noteikšanu handleGesture () metodē func handleGesture (žests: UISwipeGestureRecognizer) -> Void {if gesture.direction == UISwipeGestureRecognizerDirection.right {print ("Swipe Right")} else if gesture.direction == UISecognipe pa kreisi {print ("Swipe Left")} else if gesture.direction == UISwipeGestureRecognizerDirection.up {print ("Swipe Up")} else if gesture.direction == UISwipeGestureRecognizerDirection.down {print ("Swipe Down")}}

Savā lietotnē es vēlējos izmantot swipeRight, taču brīvi izmantoju to, kas ir piemērotāks jūsu lietojumprogrammai.

Tagad ieviesīsim to savā kodā.

Mēs ejam uz reģistruVC.swift, kuru izveidojām iepriekš, un ierakstām kodu, kā redzams attēlos.

KODEKSA Skaidrojums

ļaujiet current_x iegūt pašreizējo ScrollView pozīciju (horizontālā pozīcija) ļaujiet screen_width iegūt ekrāna platumu, atņemot šo izmēru, lai new_x no pašreizējās ritināšanas skata pozīcijas, es atgriežos pēc ekrāna platuma, ja current_x> 0 līdz, ja vien tas nav lielāks par 0 - 0 ir pirmā lapa.

Un mēs esam pabeiguši!

Labs darbs puiši!

Ieteicams: