Mundarija:

Swift yordamida aylantirish ko'rinishini yarating: 9 qadam
Swift yordamida aylantirish ko'rinishini yarating: 9 qadam

Video: Swift yordamida aylantirish ko'rinishini yarating: 9 qadam

Video: Swift yordamida aylantirish ko'rinishini yarating: 9 qadam
Video: TELEFONDA RASMGA TUSHURISH | I PHONEDA RASMGA TUSHURISH | TELEFONDA PROFESSIONAL FOTO 2024, Iyul
Anonim
Image
Image

Bir necha oy oldin, men swift va Xcode mavjudligini bilmasdim. Bugun men yaratmoqchi bo'lgan ilovaning kichik qismini ishlab chiqa oldim. Men siz bilan baham ko'rmoqchi bo'lgan ajoyib narsani yaratishga muvaffaq bo'ldim.

Ushbu qo'llanmada men sizni aylantiruvchi ko'rinish sahnasini yaratish jarayoni bilan tanishtiraman, bunda foydalanuvchilar yangi hisob qaydnomasini ro'yxatdan o'tkazmoqchi bo'lganlarida qayta yo'naltiriladi. Yo'l -yo'lakay, men sizga nima qilayotganimizni tushunishingiz uchun sizga nima qilayotganimizni nazariy tushuntirishlar beraman.

Buni qilishdan oldin, keling, Swift va Xcode nima ekanligini gaplashaylik:

1. Swift - bu macOS, iOS, watchOS va tvOS uchun kuchli va intuitiv dasturlash tili. Swift kodini yozish interaktiv va qiziqarli, sintaksisi ixcham, ammo ifodali va Swift ishlab chiquvchilar yaxshi ko'radigan zamonaviy xususiyatlarni o'z ichiga oladi. Swift kodi dizayn bo'yicha xavfsizdir, lekin ayni paytda yashin tezligida ishlaydigan dasturiy ta'minot ishlab chiqaradi. U Apple kompaniyasining Cocoa va Cocoa Touch ramkalari va Apple mahsulotlari uchun yozilgan Objective-C kodining katta qismi bilan ishlashga mo'ljallangan. U ochiq manbali LLVM kompilyatori ramkasi bilan qurilgan va 2014 yilda chiqarilgan 6-versiyadan boshlab Xcode-ga kiritilgan. Apple platformalarida C, Objective-C, C ++ va Swift kodlarini ishga tushirishga imkon beradigan Objective-C ish vaqti kutubxonasidan foydalaniladi. bitta dastur doirasida.

2. Xcode - bu MacOS, iOS, watchOS va tvOS uchun dasturiy ta'minot ishlab chiqish uchun Apple tomonidan ishlab chiqilgan dasturiy ta'minotni ishlab chiqish vositalari to'plamini o'z ichiga olgan macOS uchun integratsiyalashgan ishlab chiqish muhiti (IDE).

1 -qadam: Xcode -ni yuklab oling

UIda ishlash
UIda ishlash

Xcode 10 barcha Apple platformalari uchun ajoyib ilovalar yaratish uchun kerak bo'lgan hamma narsani o'z ichiga oladi. Endi Xcode va Instruments macOS Mojave -dagi yangi Dark rejimida ajoyib ko'rinadi. Manba kodi muharriri sizga kodni osonroq o'zgartirish yoki qayta tuzish, tegishli satr bilan birga manba boshqaruvidagi o'zgarishlarni ko'rish va yuqoridagi kod farqlari haqida batafsil ma'lumot olish imkonini beradi. Vizualizatsiya va ma'lumotlarni tahlil qilish yordamida siz o'zingizning asbobingizni yaratishingiz mumkin. Swift dasturiy ta'minotni tezroq tuzadi, ilovalarni tezroq etkazib berishga yordam beradi va hatto kichikroq ikkiliklarni ham yaratadi. Test to'plamlari bir necha marotaba tezroq bajariladi, jamoa bilan ishlash oddiyroq va xavfsizroq va yana ko'p narsalar.

Xcode 10 -da Swift 4.2 mavjud, u sizning dasturiy ta'minotingizni tezroq tuzadi, sizga tezroq ilovalarni etkazib berishga yordam beradi va undan ham kichik ikkiliklarni yaratadi. Swift 4.0 bilan taqqoslaganda, eng yangi Swift kompilyatori katta hajmli ilovalarni ikki baravar tez qurishi mumkin.* Yangi Xcode yangi tuzilish tizimi bilan birgalikda har kungi tahrirlash, tuzish va sinovdan o'tkazish jarayoni ancha tezlashadi. Eng yangi ko'p yadroli Mac uskunalari uchun optimallashtirilgan, Xcode va Swift chaqmoq tez rivojlanish platformasini yaratadi.

2 -qadam: Boshlaylik

Image
Image

Xcode -ga o'tish va yangi loyiha yaratish - biz nima qilamiz. Biz yangi loyihani bosganimizda, bizning ilovamiz bitta ko'rinadigan ilova bo'ladi. Bilmaydiganlar uchun bitta ko'rinadigan ilova hamma narsani noldan boshlash kerakligini va biz dasturlashimiz mumkin bo'lgan bitta ko'rinish bo'lishini anglatadi.

Mahsulotingizni TutorialApp deb nomlang. Agar siz App Store -da ilovalarni nashr etadigan tajribali ishlab chiquvchi bo'lsangiz, ehtimol sizning jamoangiz bo'ladi, lekin agar siz yangi bo'lsangiz va sizda hech qanday ilovalar nashr etilmagan bo'lsa, siz bu maydonni o'tkazib yuborishingiz mumkin. Tashkilot nomiga, agar sizda bo'lsa, kompaniya nomini yozishingiz mumkin, men MacBook Pro -ni saqlayman. Keyin, tashkilot identifikatori sizning loyihangizning o'ziga xos identifikatoriga o'xshaydi, shuning uchun siz xohlagan narsani yozishingiz mumkin. Til, albatta, tez bo'ladi.

Shunday qilib, keyingisini bosing va loyihani ish stolida saqlaylik, shunda unga kirish oson bo'ladi.

Yangi loyiha uchta fayldan iborat: AppDelegate.swift, ViewController.swift va ushbu qo'llanmaning yulduzi: Main.storyboard. Uchirish ma'lumoti ostida> Umumiy loyiha sozlamalarida Qurilmani yo'naltirish, Qurilmalarni iPhone -ga o'rnatish. Bu faqat portretli ilova bo'lgani uchun "Landshaft chap va o'ng landshaft" variantlari belgisini olib tashlang. Interface Buildereditor -da ko'rish uchun loyiha navigatorida Main.storyboard -ni oching:

Biz konfiguratsiyaga hech qanday o'zgartirish kiritmoqchi emasmiz va biz to'g'ridan -to'g'ri hikoya taxtasiga o'tamiz. Biz bitta ko'rinadigan ilovani yaratganimiz uchun, biz bitta bitta, bo'sh ko'rinishni yaratdik. Bu biz ustida ishlashimiz kerak bo'lgan narsa.

3 -qadam: foydalanuvchi interfeysida ishlash

UIda ishlash
UIda ishlash
UIda ishlash
UIda ishlash

Ko'rish boshqaruvchisi uchun hikoyalar taxtasining rasmiy terminologiyasi "sahna", lekin siz atamalarni bir -birining o'rnida ishlatishingiz mumkin. Sahna hikoyalar taxtasida ko'rish boshqaruvchisini ifodalaydi.

Bu erda siz bo'sh ko'rinishni o'z ichiga olgan bitta ko'rish boshqaruvchisini ko'rasiz. Chapdan ko'rish nazoratchisiga ishora qiluvchi o'q, bu hikoya taxtasi uchun ko'rsatiladigan dastlabki ko'rish boshqaruvchisi ekanligini ko'rsatadi. Hikoyalar taxtasi muharririda tartibni loyihalash Ob'ektlar kutubxonasidagi (o'ng yuqori burchakdagi) boshqaruv elementlarini ko'rish boshqaruvchisiga tortish orqali amalga oshiriladi.

Hikoya taxtasi muharriri qanday ishlashini bilish uchun, ob'ektlar kutubxonasidagi ba'zi boshqaruv elementlarini videoda ko'rinib turganidek, bo'sh ko'rinish nazoratchisiga torting.

Siz boshqaruv elementlarini sudrab borganingizda, ular chapdagi Hujjat konturida ko'rsatilishi kerak.

Siz xohlagan foydalanuvchi interfeysini yaratishingiz mumkin. Mening holatimda, siz rasmda ko'rganingizni ishlatganman.

4 -qadam: Ikkinchi ko'rish nazoratini ishlab chiqish va segmentlarni ishga tushirish (o'tish)

Image
Image
Sahifani gorizontal suring
Sahifani gorizontal suring

Shunday qilib, mening ilovamda, foydalanuvchi "Yangi hisobni ro'yxatdan o'tkazish" tugmachasini bosganida, men uni ro'yxatdan o'tish sahifasiga yo'naltirishini xohlayman. Shunday qilib, har bir sahifa - bu yangi sahna, yangi displey. Shu sababli, biz ob'ektlar kutubxonasida topishingiz mumkin bo'lgan ikkinchi ko'rish nazoratini yaratishimiz kerak.

Ko'rish tekshirgichini kiriting va uni dastlabki ko'rish tekshirgichining yoniga qo'ying. Bu sahna registrni ko'rish boshqaruvchisi uchun javobgar bo'ladi. Ushbu sahifaga qayta yo'naltirish ikki xil bo'lishi mumkin:

  1. biz tugmachadan boshqa ko'rish boshqaruv elementiga harakat aloqasini o'rnatganimizda buni qo'lda qilishimiz mumkin
  2. biz buni dasturiy ravishda qila olamiz

Men nima qilishni tanladim - buni qo'lda qilish. Bu oddiy:

  1. O'z tugmachangizni bir marta bosish bilan bosing (mening holimda, yangi hisob qaydnomasini ro'yxatdan o'tkazish)
  2. Buyruqni ushlab turing va sichqonchaning chap tugmachasini bosib registrni boshqarish sahnasiga olib boring.
  3. Uni o'sha erda qo'yib yuboring va "Modali taqdim etish" -ni tanlang.

5 -qadam: Ro'yxatdan o'tish jarayoni uchun dasturlash sinfini yarating

Shunday qilib, endi biz yangi sahna uchun maxsus kodlash sinfini yaratmoqchimiz.

Buning uchun siz quyidagi amallarni bajarishingiz kerak:

  • loyiha papkasini o'ng tugmasini bosing
  • kakao sensorli sinf deb nomlangan yangi faylni bosing
  • sinfda yozing: RegisterVC
  • JUDA MUHIM! Ichki sinf UIViewController turida bo'lishi kerakligiga ishonch hosil qiling
  • til tez bo'lishi kerak.
  • Keyingisini bosing va kakao sinfingizni loyihangizning asosiy ildizida saqlang.
  • Asosiy hikoya taxtasini bosing va yangi ko'rish boshqaruvchisiga o'ting
  • uning ustida joylashgan sariq tugmani bosing
  • o'ng tomonda sinf inspektoriga boring va VC Registriga havola qiling (Costum class, class = RegisterVC

6 -qadam: Sahifani gorizontal suring

IOS -da, ekranga to'liq mos kelmaydigan tarkibni ko'rish uchun aylantirish ko'rinishlari ishlatiladi. O'tkazish ko'rinishining ikkita asosiy maqsadi bor:

Foydalanuvchilarga ko'rsatmoqchi bo'lgan kontent maydonini tortib olishlariga ruxsat berish, foydalanuvchilarga qisish imo -ishoralari yordamida ko'rsatilgan tarkibni kattalashtirish yoki kattalashtirishga ruxsat berish. UITableView - iOS ilovalarida ishlatiladigan umumiy boshqaruv - UIScrollView -ning kichik sinfidir va ekrandan kattaroq tarkibni ko'rishning ajoyib usulini ta'minlaydi.

Gorizontal surishda pastki sahifalar nima uchun ishlatiladi?

Xo'sh, agar men 6 xil sahifa yaratmoqchi bo'lsam, demak, ularning har biri uchun maxsus sinf yaratishim kerak va bir sinfdan boshqasiga ma'lumot uzatish unchalik qulay emas. Masalan, men o'z elektron pochtamni yozsam va keyingisini bossam, agar menda boshqa ko'rish boshqaruvchisi bo'lsa, men View Controller -ning birinchi sahifasini tark etaman, so'ngra ikkinchisi ko'rsatiladi. Bunday holda, birinchi ko'rish tekshirgichining ma'lumoti keyingisiga o'tishi kerak, keyin yana uchinchi ko'rish boshqaruvchisiga va hokazo. Menga kerak bo'lgan barcha ko'rish tekshirgichlari bo'lsa, men barcha ma'lumotlarni yig'ishim kerak bo'ladi. sahifalar va ularni serverga yuboring. Shunday qilib, bu haqiqatan ham murakkab bo'lar edi.

Shunday qilib, ushbu ko'rish boshqaruvchisini yaratishga o'tsam, men yaratmoqchi bo'lgan 5 ta sahifam bor edi:

  1. E -pochta
  2. To'liq ismi sharif
  3. Parol
  4. Tug'ilgan sana
  5. Jins

Bu shuni anglatadiki, biz yaratadigan ko'rish boshqaruvchisi biz yaratganidan 5 baravar katta bo'lishi kerak.

Ko'rish boshqaruvchisini tanlang va yuqori, o'ng burchakka o'ting va o'lchagich belgisini bosing va Simulyatsiya qilingan o'lchamni tahrirlang. Kenglik va balandlikni sozlash uchun siz Freeform -ni tanlaysiz. IPhone 8 uchun mos keladigan ekranning kengligi 375, shuning uchun agar men 375*5 = 1875 ni ko'paytirsam, mana sizda kengaytirilgan ko'rish boshqaruvchisi bor.

Xuddi shunday, siz har xil telefonlar va ekran o'lchamlari uchun bir xil jarayonni bajarasiz.

O'tkazish ko'rinishini ishga tushirish uchun bizga aylantirish ko'rinadigan ob'ekt kerak. Scroll View ilovaning oynasi o'lchamidan kattaroq tarkibni ko'rsatish mexanizmini taqdim etadi. Bu ob'ektni bosing, suring va uni ko'rish nazoratchisining yuqori chap burchagiga qo'ying va X va Y nol holatida ekanligiga va strelkaning mos ravishda ko'rish nazoratchisiga to'g'ri kelishiga ishonch hosil qiling.

O'tkazish ko'rinishi bizga aylantirishga imkon beradi, boshqa hech narsa. Keyin boshqa ko'rinishlar saqlanadigan kontent ko'rinishini qo'shishimiz kerak. Siz UIView -ni topishingiz mumkin - bu ob'ektlar kutubxonasida hodisalarni chizadigan va qabul qiladigan to'rtburchaklar mintaqani ifodalaydi. Shunchaki bosing va uni aylantirish ko'rinishida tortib oling va shunga mos ravishda cho'zing.

Chap paneldan aylantirish ko'rinishini tanlang va biz 0, 0, 0, 0 hizalamasini chaqiramiz va cheklovlar qo'shamiz. Kontentni ko'rish uchun ham xuddi shunday qiling.

7-qadam: Gorizontal surishning pastki sahifalari uchun foydalanuvchi interfeysini ishlab chiqish

Image
Image
Dizaynni Xcode -da amalga oshiring
Dizaynni Xcode -da amalga oshiring

Ushbu bosqichda siz pastki sahifalaringizning foydalanuvchi interfeysini yaratishingiz kerak. Men tanlagan narsam - Sketch -da prototip yaratish va keyin uni Xcode -da yaratish.

8 -qadam: Dizaynni Xcode -da amalga oshiring

Dizaynni Xcode -da amalga oshiring
Dizaynni Xcode -da amalga oshiring
Dizaynni Xcode -da amalga oshiring
Dizaynni Xcode -da amalga oshiring

Keyingi qadam, bu dizaynni Xcode -da amalga oshirish. Buning uchun siz barcha pastki sahifalar uchun chiqish ulanishlarini yaratishingiz va "ona ko'rinishi" uchun boshqasini yaratishingiz kerak.

Hikoyalar panelidagi elementlar manba kodiga bog'langan. Hikoya taxtasi siz yozgan kod bilan qanday bog'liqligini tushunish muhimdir.

Hikoya taxtasida sahna bitta kontent ekranini va odatda bitta ko'rish nazoratini ifodalaydi. Ko'rish nazoratchilari sizning ilovangizning xatti -harakatlarini amalga oshiradilar va uning ko'rinishlar ierarxiyasi bilan bitta kontent ko'rinishini boshqaradilar. Ular ilova ma'lumotlarini qamrab oladigan ilova ma'lumot modeli va bu ma'lumotlarni aks ettiruvchi ko'rinishlar o'rtasida ma'lumot oqimini muvofiqlashtiradi, ularning kontentlarining hayot aylanishini boshqaradi, qurilma aylantirilganda yo'nalish o'zgarishini boshqaradi, ilovangiz ichidagi navigatsiyani aniqlaydi. va foydalanuvchi kirishiga javob berish xatti -harakatlarini amalga oshiring. IOS -dagi barcha ko'rinishni boshqarish moslamalari UIViewController turiga yoki uning pastki sinflaridan biriga tegishli.

Maxsus ko'rinishni nazorat qilish subklasslarini yaratish va joriy qilish orqali siz kodni ko'rish nazoratchilarining xatti -harakatlarini aniqlaysiz. Keyin siz o'zingiz belgilagan xatti -harakatlar va hikoyalar panelida siz aniqlagan foydalanuvchi interfeysi uchun hikoyalar taxtangizdagi o'sha sinflar va sahnalar o'rtasida aloqa o'rnatishingiz mumkin.

Xcode allaqachon siz ko'rib chiqqan ViewController.swift sinfini yaratdi va uni hikoyalar taxtasida ishlayotgan sahnaga bog'ladi. Ko'proq sahnalarni qo'shganingizda, siz bu aloqani identifikator inspektorida o'zingiz o'rnatasiz. Identifikatsiya inspektori sizning hikoyalar taxtangizda ob'ektning identifikatori bilan bog'liq bo'lgan xususiyatlarini, masalan, ob'ekt qaysi sinfga tegishli ekanligini o'zgartirishga imkon beradi.

UI uchun chiqish nuqtalarini yaratish Chiqish moslamasini yaratish uchun, boshqaruv panelidagi ma'lum bir ob'ektni nazorat qilish faylini boshqaring. Ushbu operatsiyani bajarishda ob'ektni koddan ko'rish va boshqarishga imkon beradigan, ko'rish boshqaruvchisi faylidagi ob'ekt yaratiladi.

  1. Hikoyalar taxtasini oching, Main.storyboard.
  2. Yordamchi muharririni ochish uchun Xcode -ning o'ng yuqori burchagidagi Xcode asboblar panelidagi Assistant tugmasini bosing. Agar siz ko'proq joy ishlashini xohlasangiz, Xcode asboblar panelidagi Navigator va Utilitalar tugmalarini bosib, loyiha navigatori va yordamchi dastur maydonini yoping.
  3. Siz kontur ko'rinishini ham yopishingiz mumkin.

Muharrir yordamchisining yuqori qismida paydo bo'ladigan tahrirlovchining tanlov panelida yordamchi muharrirni oldindan ko'rish rejimidan Avtomatik> ViewController.swift ga o'zgartiring.

Pastki sahifani bosing va kodning tegishli sinfiga torting.

9 -qadam: Maxsus imo -ishoralarni birlashtirish

Image
Image
Maxsus imo -ishoralarni birlashtirish
Maxsus imo -ishoralarni birlashtirish

SWIPE GESTURE

Siqish ishorasi foydalanuvchi bir yoki bir nechta barmog'ini ekran bo'ylab ma'lum gorizontal yoki vertikal yo'nalishda harakatlantirganda sodir bo'ladi. Imo -ishoralarni aniqlash uchun UISwipeGestureRecognizer sinfidan foydalaning.

Siqish ishorasini amalga oshirish

1 -qadam: viewDidLoad () usulida suring surish imo -ishoralarini qo'shing

func viewDidLoad () {super.viewDidLoad () ni bekor qilish

swipeLeft = UISwipeGestureRecognizer (maqsad: o'z -o'zidan, harakat: #selector (handleGesture))

swipeRight = UISwipeGestureRecognizer (maqsad: o'zini, harakat: #selector (handleGesture)) swipeRight.direction =.right self.view.addGestureRecognizer (swipeRight)

swipeUp = UISwipeGestureRecognizer (maqsad: o'z -o'zidan, harakat: #selector (handleGesture)) swipeUp.direction =.up self.view.addGestureRecognizer (swipeUp)

swipeDown = UISwipeGestureRecognizer (maqsad: o'z -o'zidan, harakat: #selector (handleGesture)) swipeDown.direction =. pastga self.view.addGestureRecognizer (swipeDown)}

2 -qadam: handleGesture () usulida ishorani aniqlashni tekshiring func handleGesture (imo -ishora: UISwipeGestureRecognizer) -> Void {if gesture.direction == UISwipeGestureRecognizerDirection.right {print ("O'ngga suring")} else if gesture.direction == UISwipeGizer. chapda {chop etish ("Chapga suring")} boshqa holatlarda, agar gesture.direction == UISwipeGestureRecognizerDirection.up {print ("Yuqoriga suring")} if if gesture.direction == UISwipeGestureRecognizerDirection.down {print ("Pastga suring")}}

Mening ilovamda men swipeRight -dan foydalanmoqchi edim, lekin sizning ilovangizga mos keladiganini ishlata olmadim.

Keling, buni kodimizga kiritaylik.

Biz ilgari yaratgan registerVC.swift -ga o'tamiz va rasmda ko'rib turganingizdek kodni yozamiz.

KODNI TASHLASH

joriy_x ScrollView (gorizontal pozitsiya) ning joriy holatini olishiga ruxsat bering, ekran kengligi ekran kengligiga ega bo'lsin, bu o'lchovni aylantirganda new_x skrining ko'rinishini hozirgi holatidan, agar ekranning kengligi bo'yicha qaytadi, agar current_x> 0 bo'lsa, 0 dan oshmaguncha - 0 - birinchi sahifa.

Va biz tugatdik!

Yaxshi ish bolalar!

Tavsiya: