Мазмұны:

Swift көмегімен айналдыру көрінісін жасаңыз: 9 қадам
Swift көмегімен айналдыру көрінісін жасаңыз: 9 қадам

Бейне: Swift көмегімен айналдыру көрінісін жасаңыз: 9 қадам

Бейне: Swift көмегімен айналдыру көрінісін жасаңыз: 9 қадам
Бейне: According to Promise. Of Salvation, Life, and Eternity | Charles H. Spurgeon | Free Audiobook 2024, Шілде
Anonim
Image
Image

Бірнеше ай бұрын мен swift пен Xcode бар екенін білмедім. Бүгін мен жасағым келетін қосымшаның кішкене бөлігін жасай алдым. Мен сіздермен бөліскім келетін керемет нәрсе жасай алдым.

Бұл оқулықта мен сізді жаңа есептік жазбаны тіркегісі келген кезде пайдаланушылар қайта бағытталатын айналдыру көрінісін құру процесін жүргіземін. Жол бойында мен сізге не істеп жатқанымызды түсіну үшін мен сізге істеп жатқан істерімізге теориялық түсініктеме беремін.

Мұны жасамас бұрын, Swift және Xcode деген не екенін сөйлесейік:

1. Swift - бұл macOS, iOS, watchOS және tvOS үшін қуатты және интуитивті бағдарламалау тілі. Swift кодын жазу интерактивті және көңілді, синтаксис қысқа, бірақ мәнерлі, ал Swift әзірлеушілер ұнататын заманауи мүмкіндіктерді қамтиды. Swift коды дизайн бойынша қауіпсіз, сонымен қатар найзағай жылдамдығында жұмыс істейтін бағдарламалық қамтамасыз етуді шығарады. Ол Apple компаниясының Cocoa және Cocoa Touch негіздерімен және Apple өнімдері үшін жазылған Objective-C кодының үлкен бөлігімен жұмыс істеуге арналған. Ол LLVM компиляторының ашық негізімен құрастырылған және 2014 жылы шыққан 6 нұсқасынан бастап Xcode-ге енгізілген. Apple платформаларында C, Objective-C, C ++ және Swift кодтарын іске қосуға мүмкіндік беретін Objective-C жұмыс уақыты кітапханасы қолданылады. бір бағдарлама аясында.

2. Xcode - бұл macOS, iOS, watchOS және tvOS үшін бағдарламалық қамтамасыз етуді әзірлеуге арналған Apple әзірлеген бағдарламалық қамтамасыз ету құралдарының жиынтығын қамтитын macOS үшін интеграцияланған даму ортасы (IDE).

1 -қадам: Xcode жүктеу

UI -де жұмыс істеу
UI -де жұмыс істеу

Xcode 10 барлық Apple платформалары үшін керемет қосымшалар жасау үшін қажет нәрсенің бәрін қамтиды. Енді Xcode мен Instruments macOS Mojave жаңа қараңғы режимінде керемет көрінеді. Бастапқы код редакторы кодты оңай түрлендіруге немесе рефакторлауға, байланысты жолдың қайнар көзіндегі өзгерістерді көруге және ағымдағы код айырмашылықтары туралы мәліметтерді жылдам алуға мүмкіндік береді. Сіз өзіңіздің жеке құрылғыны визуалды визуализация мен деректерді талдаумен жасай аласыз. Swift бағдарламалық жасақтаманы тезірек құрастырады, сізге жылдам қосымшаларды жеткізуге көмектеседі және одан да кіші екілік файлдарды шығарады. Сынақ жиынтықтары бірнеше есе тез аяқталады, топпен жұмыс істеу қарапайым және қауіпсіз және тағы басқалар.

Xcode 10 -де Swift 4.2 бар, ол сіздің бағдарламалық жасақтамаңызды тезірек құрастырады, сізге жылдам қосымшаларды жеткізуге көмектеседі және одан да кіші екілік файлдарды шығарады. Swift 4.0 -мен салыстырғанда, соңғы Swift компиляторы үлкен қосымшаларды екі есе жылдам жасай алады.* Жаңа Xcode жаңа құрастыру жүйесімен бірге күнделікті өңдеу, құрастыру және тестілеу жұмыс процесі әлдеқайда жылдам. Ең соңғы көп ядролы Mac жабдықтары үшін оңтайландырылған, Xcode және Swift найзағай жылдам даму платформасын құрайды.

2 -қадам: бастайық

Image
Image

Сонымен, біз Xcode -ге өтіп, жаңа жоба жасауымыз керек. Біз жаңа жобаны басқаннан кейін біздің қосымшамыз бір көріністі бағдарлама болады. Білмейтіндер үшін бір қарауға арналған бағдарлама сізге бәрін нөлден бастау керек екенін және біз бағдарламалай алатын бір ғана көрініс болатынын білдіреді.

Өніміңізге TutorialApp атауын беріңіз. Егер сіз App Store -да қосымшалар шығаратын тәжірибелі әзірлеуші болсаңыз, онда сіздің командаңыз болуы мүмкін, бірақ егер сіз жаңадан қосылсаңыз және сізде жарияланған қосымшалар болмаса, сіз бұл өрісті өткізіп жібере аласыз. Ұйым атауында, егер сізде бар болса, компанияның атауын жаза аласыз, менің жағдайда мен MacBook Pro -ды сақтаймын. Содан кейін, ұйым идентификаторы сіздің жобаңыздың бірегей идентификаторы ретінде қарастырылады, сондықтан сіз қалағаныңызды жаза аласыз. Тіл міндетті түрде жылдам болады.

Сонымен, келесі батырмасын басыңыз және жобаны жұмыс үстелінде сақтайық, осылайша оған қол жеткізуге болады.

Жаңа жоба үш файлдан тұрады, AppDelegate.swift, ViewController.swift және осы оқулықтың жұлдызы: Main.storyboard. Қолдану туралы ақпарат> Құрылғыға бағдарлау жобасының жалпы параметрлерінде Құрылғыларды iPhone -ға орнатыңыз. Бұл тек портреттік бағдарлама болғандықтан, Ландшафты солға және оңға қарай ландшафты опцияларын алып тастаңыз. Main.storyboard интерфейсін құрастырушыда қарау үшін жоба навигаторында ашыңыз:

Біз конфигурацияға ешқандай өзгеріс енгізгіміз келмейді және біз тікелей негізгі тақтаға өтеміз. Біз бір көріністі қолданба жасағандықтан, біз қарапайым бір бос, бос көріністі құрдық. Бұл бізге жұмыс істеу керек нәрсе.

3 -қадам: UI -де жұмыс

UI -де жұмыс істеу
UI -де жұмыс істеу
UI -де жұмыс істеу
UI -де жұмыс істеу

Көрініс контроллерінің сюжеттік тақтаның ресми терминологиясы - «көрініс», бірақ сіз терминдерді бір -бірінің орнына қолдана аласыз. Көрініс сюжет тақтасындағы көрініс контроллерін білдіреді.

Мұнда сіз бос көріністі қамтитын жалғыз көрініс контроллерін көресіз. Сол жақтан көру контроллерін көрсететін көрсеткі осы сюжет тақтасында көрсетілетін бастапқы көрініс контроллері екенін көрсетеді. Сюжет тақтасы редакторында орналасуды жобалау объектілер кітапханасынан басқару элементтерін көру контроллеріне апару арқылы жүзеге асады.

Әңгіме тақтасы редакторының қалай жұмыс істейтінін білу үшін, объектілер кітапханасындағы кейбір басқару элементтерін бейнеде көрсетілгендей бос көрініс контроллеріне сүйреңіз.

Басқару элементтерін сүйреп апарған кезде олар сол жақтағы Құжаттар контурында көрінуі керек.

Сіз қалаған пайдаланушы интерфейсін жасай аласыз. Менің жағдайда, мен суретте көргенді қолдандым.

4 -қадам: Екінші көрініс контроллерін жасаңыз және сегменттерді қосыңыз (ауысулар)

Image
Image
Беттің көлденең сырғытуын жасаңыз
Беттің көлденең сырғытуын жасаңыз

Сонымен, менің қосымшамда, пайдаланушы «Жаңа есептік жазбаны тіркеу» түймесін басқанда, мен оның тіркелгі тіркелгі бетіне қайта бағытталуын қалаймын. Сондықтан бұл үшін әрбір бет - жаңа көрініс, жаңа дисплей. Осы себепті біз объектілер кітапханасынан таба алатын екінші көрініс контроллерін жасауымыз керек.

Көру контроллерін теріңіз және оны бастапқы көрініс контроллерінің жанына қойыңыз. Бұл көрініс тізілім көрінісінің контроллеріне жауап береді. Бұл бетке қайта бағыттауды екі жолмен жасауға болады:

  1. біз батырмадан басқа көрініс басқару элементіне әрекет қосылымын жасаған кезде оны қолмен жасай аламыз
  2. біз оны бағдарламалық түрде жасай аламыз

Мен қолмен жасауды таңдадым. Бұл қарапайым:

  1. Түймені бір рет нұқыңыз (менің жағдайда, жаңа есептік жазбаны тіркеу)
  2. Тізімді басқару сахнасына апару үшін пәрменді ұстап тұрыңыз және тышқанның сол жақ батырмасын басыңыз.
  3. Оны сол жерде босатыңыз және «Модельді түрде көрсету» таңдаңыз

5 -қадам: Тіркеу процесі үшін бағдарламалау класын жасаңыз

Сонымен, енді біз жаңа сахна үшін арнайы кодтау класын құрғымыз келеді.

Ол үшін келесі қадамдарды орындау қажет:

  • жоба қалтасын тінтуірдің оң жақ түймесімен нұқыңыз
  • какао сенсорлық сынып деп аталатын жаңа файлды нұқыңыз
  • сыныпта жазыңыз: RegisterVC
  • ӨТЕ МАҢЫЗДЫ! Ішкі сынып UIViewController түріне жататынына көз жеткізіңіз
  • тілі жылдам болуы керек.
  • Келесі түймесін басыңыз және какао класын жобаңыздың негізгі түбірінде сақтаңыз.
  • Негізгі тақтаны нұқыңыз және жаңа көрініс контроллеріне өтіңіз
  • оның үстінде орналасқан сары түймені басыңыз
  • оң жақта сынып инспекторына барып, VC регистріне сілтеме жасаңыз (Costum класы, класс = RegisterVC

6 -қадам: Беттің көлденең сырғытуын жасаңыз

IOS жүйесінде айналдыру көріністері экранға мүлде сыймайтын мазмұнды қарау үшін қолданылады. Айналдыру көріністерінің екі негізгі мақсаты бар:

Пайдаланушыларға көрсеткісі келетін мазмұн аймағын сүйреуге мүмкіндік беру үшін, пайдаланушыларға шымшу қимылдары арқылы көрсетілген мазмұнды үлкейтуге немесе кішірейтуге мүмкіндік беру. IOS қолданбаларында қолданылатын жалпы басқару элементі - UITableView - UIScrollView ішкі сыныбы және экраннан үлкен мазмұнды қараудың тамаша әдісін ұсынады.

Көлденең сырғытуда ішкі беттер не үшін қолданылады?

Егер мен 6 түрлі бетті құратын болсам, бұл олардың әрқайсысы үшін арнайы сынып жасауым керек дегенді білдіреді және ақпаратты бір сыныптан екінші сыныпқа беру онша ыңғайлы емес. Мысалы, мен электрондық поштаны енгіземін, содан кейін келесі батырманы басамын, егер менде басқа қарау контроллері болса, мен қарау контроллерінің бірінші бетін қалдырамын, содан кейін екіншісі көрсетіледі. Бұл жағдайда бірінші қарау контроллерінің ақпараты келесіге, сосын қайтадан үшінші көрініс контроллеріне берілуі керек. Менде қажет барлық қарау контроллері болған кезде, мен барлық деректерді жинауға тура келеді. беттер және оларды серверге жіберу. Демек, бұл шынымен де күрделі болар еді.

Сонымен, осы қарау контроллерін құруға көшу, менің жағдайда, менде жасағым келетін 5 бет болды:

  1. Электрондық пошта
  2. Толық аты
  3. Құпия сөз
  4. Туған жылы
  5. Жыныс

Бұл дегеніміз, біз жасайтын көрініс контроллері біз жасағаннан 5 есе үлкен болуы керек.

Көру контроллерін таңдап, жоғарғы, оң жақ бұрышқа өтіп, сызғыш белгішесін нұқыңыз және Үлгі өлшемін өңдеңіз. Ені мен биіктігін реттеу үшін Freeform таңдайсыз. IPhone 8 -ге сәйкес келетін экранның әдепкі ені - 375, сондықтан мен 375*5 = 1875 -ке көбейтсем, міне, сізде кеңейтілген көрініс контроллері бар.

Сол сияқты, сіз әр түрлі телефондар мен экран өлшемдері үшін бірдей процесті ұстанасыз.

Айналдыру көрінісін жұмыс істеу үшін бізге айналдыру көрінісінің нысаны қажет. Айналдыру көрінісі бағдарлама терезесінің өлшемінен үлкен мазмұнды көрсету механизмін ұсынады. Бұл нысанды нұқыңыз, оны сүйреп апарыңыз және оны көру контроллерінің жоғарғы сол жақ бұрышына қойыңыз және X пен Y нөлдік позицияда екеніне көз жеткізіңіз және сәйкесінше сіздің контроллер контроллеріңізге сәйкес келеді.

Айналдыру көрінісі бізге айналдыруға мүмкіндік береді, басқа ештеңе жоқ. Содан кейін біз басқа көріністерді сақтайтын мазмұн көрінісін қосуымыз керек. Сіз UIView таба аласыз - бұл объектілер кітапханасында оқиғаларды салатын және алатын тікбұрышты аймақты білдіреді. Оны шертіп, айналдыру көрінісіне сүйреп апарыңыз және сәйкесінше созыңыз.

Сол жақ панельден айналдыру көрінісін таңдаңыз, біз туралауды 0, 0, 0, 0 деп атаймыз және шектеулер қосамыз. Мазмұнды қарау үшін дәл осылай жасаңыз.

7-қадам: Көлденең сырғытудың ішкі беттері үшін пайдаланушы интерфейсін жасаңыз

Image
Image
Xcode дизайнын енгізіңіз
Xcode дизайнын енгізіңіз

Бұл қадамда сіз ішкі беттердің интерфейсін жасауыңыз керек. Мен таңдаған нәрсе - Sketch -те прототип жасау, содан кейін оны Xcode -де құру.

8 -қадам: Xcode дизайнын енгізіңіз

Xcode дизайнын енгізіңіз
Xcode дизайнын енгізіңіз
Xcode дизайнын енгізіңіз
Xcode дизайнын енгізіңіз

Келесі қадам - бұл дизайнды Xcode -де енгізу. Мұны істеу үшін сіз барлық ішкі беттер үшін шығыс қосылымдарын жасауыңыз керек және «ана көрінісі» үшін басқасын жасауыңыз керек, яғни бүкіл көрініс контроллері үшін бір шығыс қосылымы.

Сюжет тақтасындағы элементтер бастапқы кодпен байланысты. Сценарий тақтасының сіз жазған кодпен байланысын түсіну маңызды.

Сюжеттік тақтада көрініс мазмұнның бір экранын және әдетте бір қарау контроллерін білдіреді. Көру контроллері сіздің қолданбаның әрекетін жүзеге асырады және оның ішкі көріністерінің иерархиясымен бір мазмұн көрінісін басқарады. Олар қолданба деректерін қамтитын қосымшаның деректер моделі мен сол мәліметтерді көрсететін көріністер арасындағы ақпарат ағынын үйлестіреді, олардың мазмұны көріністерінің өмірлік циклін басқарады, құрылғы айналған кезде бағдардың өзгеруін реттейді, сіздің қолданбаңыздағы навигацияны анықтайды., және пайдаланушының енгізуіне жауап беру әрекетін енгізіңіз. IOS ішіндегі барлық қарау контроллері нысандары UIViewController немесе оның ішкі сыныптарының бірінде болады.

Көрініс контроллерінің реттелетін ішкі сыныптарын құру және енгізу арқылы сіздің қарау контроллерлеріңіздің әрекетін кодта анықтайсыз. Содан кейін сіз кодта анықталған мінез -құлықты және сюжеттік тақтада анықталған пайдаланушы интерфейсін алу үшін сюжеттер тақтасындағы сол сыныптар мен көріністер арасында байланыс орната аласыз.

Xcode қазірдің өзінде ViewController.swift қараған және оны тақтада жұмыс жасайтын сахнаға қосқан бір сынып құрды. Қосымша көріністерді қосқанда, сіз бұл байланысты сәйкестендіру инспекторында жасайсыз. Сәйкестендіру инспекторы сіздің әңгіме тақтасындағы объектінің сәйкестігіне қатысты объектінің қасиеттерін өңдеуге мүмкіндік береді, мысалы, объект қандай сыныпқа жатады.

UI үшін розеткаларды құру ElementsOutlets интерфейс объектілеріне-тарих тақтасына қосылған объектілерге-бастапқы код файлдарынан сілтеме жасау әдісін ұсынады. Розетка жасау үшін, бақылау тақтасындағы белгілі бір объектіден басқару контроллерінің файлына Control-апарыңыз. Бұл операция қарау уақытындағы файлға объектінің қасиетін жасайды, ол сізге объектіге жұмыс уақытында кодтан қол жеткізуге және басқаруға мүмкіндік береді.

  1. Негізгі әңгіме тақтасын ашыңыз.
  2. Көмекші редакторын ашу үшін Xcode жоғарғы оң жақ бұрышындағы Xcode құралдар тақтасындағы Assistant түймесін басыңыз. Егер сіз көбірек жұмыс істегіңіз келсе, Xcode құралдар тақтасындағы Навигатор мен Утилиталар түймелерін басу арқылы жоба навигаторы мен қызметтік аймақты тартыңыз.
  3. Сондай -ақ, контур көрінісін жабуға болады.

Редактордың көмекшісінің жоғарғы жағында орналасқан редакторды таңдау тақтасында редактордың көмекшісін Алдын ала қарау режимінен Автоматты> ViewController.swift күйіне өзгертіңіз.

Қосымша бетті нұқыңыз және кодтағы сәйкес сыныпқа сүйреңіз.

9 -қадам: Таңдамалы қимылдарды біріктіру

Image
Image
Арнайы қимылдарды біріктіру
Арнайы қимылдарды біріктіру

ЖҮРГІЗУ ҚИМЫЛЫ

Жылжыту қимылы пайдаланушы бір көлденең немесе тік бағытта бір немесе бірнеше саусақпен экранды жылжытқанда пайда болады. Жылжыту қимылдарын анықтау үшін UISwipeGestureRecognizer класын пайдаланыңыз.

Сырғыту қимылын орындау

1 -қадам: viewDidLoad () әдісіне сырғыту қимылдарын қосыңыз

func viewDidLoad () {super.viewDidLoad () ауыстыру

swipeLeft = UISwipeGestureRecognizer (мақсат: өзін, әрекет: #селектор (handleGesture)) swipeLeft.direction =.left self.view.addGestureRecognizer (swipeLeft)

swipeRight = UISwipeGestureRecognizer (мақсат: өзін, әрекет: #селектор (handleGesture)) swipeRight.direction =.right self.view.addGestureRecognizer (swipeRight)

swipeUp = UISwipeGestureRecognizer (мақсат: өзін, әрекет: #селектор (handleGesture)) swipeUp.direction =.up self.view.addGestureRecognizer (swipeUp)

swipeDown = UISwipeGestureRecognizer (мақсат: өзін, әрекет: #селектор (handleGesture)) swipeDown.direction =. төмен self.view.addGestureRecognizer (swipeDown)}

2 -қадам: handleGesture () әдісіндегі қимылды анықтауды тексеріңіз func handleGesture (қимыл: UISwipeGestureRecognizer) -> Бос {if gesture.direction == UISwipeGestureRecognizerDirection.right {print («Оңға сырғытыңыз») else if gesture.direction == UISwipeGizer сол жақта {басып шығару («Солға сырғыту»)} басқа жағдайда, егер gesture.direction == UISwipeGestureRecognizerDirection.up {print («Жоғары қарай сипаңыз»)} else if gesture.direction == UISwipeGestureRecognizerDirection.down {басып шығару («Төменге сырғыту»)}}

Менің қосымшамда мен swipeRight қолданғым келді, бірақ сіздің қосымшаңызға сәйкес келетінін қолдануға рұқсат етілмеді.

Енді мұны біздің кодқа енгізейік.

Біз бұрын жасаған registerVC.swift -ке барамыз және суретте көріп тұрғандай кодты жазамыз.

КОДТЫ ТҮСІНДІРУ

ағымдық_x ScrollView (көлденең орналасуы) ағымдағы орнын алуға рұқсат етіңіз, экранның ені экранның енін алуға мүмкіндік береді, бұл өлшемді алып тастау new_x айналдыру көрінісінің ағымдағы жағдайынан рұқсат береді, егер ағымдық_x> 0 болса, экранның ені бойынша 0 -ден артық болмайынша қайтамыз. - 0 - бірінші бет.

Ал біз біттік!

Жарайсыңдар балалар!

Ұсынылған: