3.2 Бағдарлама нәтижесі
Uiviewcontroller класы барлық көрініс контроллерлеріне ортақ жалпы әрекетті анықтайды. Сіз UIViewController класының даналарын сирек тікелей жасайсыз. Оның орнына сіз UIViewController ішкі класын жасайсыз және көрініс контроллерінің көрініс иерархиясын басқаруға қажетті әдістер мен қасиеттерді қосасыз.Көрініс контроллерінің негізгі міндеттері мыналарды қамтиды:
көрініс мазмұнын жаңарту, әдетте, негізгі деректердің өзгеруіне
жауап ретінде;
пайдаланушылардың көріністермен өзара әрекеттесуіне жауап беру;
көрініс өлшемін өзгерту және жалпы интерфейстің орналасуын
басқару;
контроллерлерімен үйлестіру;
Көрініс контроллері өзі басқаратын көріністермен тығыз байланысты және көріністер иерархиясындағы оқиғаларды өңдеуге қатысады. Атап айтқанда, көрініс контроллерлері UIResponder нысандары болып табылады және әдетте басқа көрініс контроллеріне тиесілі көрініс контроллерінің түбірлік көрінісі мен осы көріністің жетекшісі арасындағы жауап берушілер тізбегіне енгізіледі. Егер көрініс контроллерінің бірде-бір көрінісі оқиғаны өңдемесе, көрініс контроллері оқиғаны өңдей алады немесе оны жетекшіге жібере алады.Көрініс контроллерлері сирек оқшауланған. Оның орнына сіз бірнеше көрініс контроллерлерін жиі қолданасыз, олардың әрқайсысы сіздің бағдарламаңыздың UI бөлігіне ие. Мысалы, бір көрініс контроллері элементтер кестесін көрсете алады, ал басқа көрініс контроллері сол кестеден таңдалған элементті көрсетеді. Әдетте бір уақытта бір көрініс контроллерінен көріністер ғана көрінеді. Көрініс контроллері жаңа көріністер жиынтығын көрсету үшін басқа көрініс контроллерін ұсына алады немесе басқа көрініс контроллерлерінің мазмұны үшін контейнер ретінде әрекет ете алады және көріністерді өз қалауы бойынша анимациялай алады.
UIScrollView-UITableView және UITextView-ті қоса алғанда, UIKit-тің бірнеше кластарының суперклассы.Айналдыру көрінісі-бұл мазмұн көрінісінің үстіне реттелетін көзі бар көрініс. Ол мазмұнды өзінің жақтауына бекітеді, ол әдетте қосымшаның негізгі терезесінің жақтауына сәйкес келеді (бірақ міндетті емес). Айналдыру көрінісі саусақтардың қозғалысын бақылайды және шығу тегін сәйкесінше реттейді. Ұсыну, бейнелейтін бе мазмұнды ұсыну арқылы жылжу сызады бұл бөлім өзіне сәйкес жаңа көзі болып, ол байланған, орын ауыстыруына көрінісінде мазмұнды. Тік және көлденең айналдыру индикаторларын көрсетуді қоспағанда, айналдыру көрінісі тартылмайды. Айналдыру көрінісі айналдыруды қашан тоқтату керектігін білу үшін мазмұн көрінісінің өлшемін білуі керек. Әдепкі бойынша, айналдыру мазмұн шегінен асқан кезде артқа қарай жылжиды.Айналдыру режимінде көрсетілген мазмұнды салуды басқаратын Объект экранның өлшемінен асып кетпеуі үшін мазмұнның кіші түрлерін плиткаларға бөлуі керек. Пайдаланушылар айналдыру көрінісін айналдырған кезде, бұл нысан қажет болған жағдайда кірістірілген көріністерді қосады және жояды.Айналдыру көрінісінде айналдыру жолақтары жоқ болғандықтан, ол түрту айналдыру ниеті туралы немесе кіші түрлерін мазмұнда бақылау ниеті туралы сигнал беретіндігін білуі керек. Бұл анықтаманы жасау үшін ол таймерді іске қосу арқылы қону оқиғасын уақытша ұстап алады және таймер жұмыс істемей тұрып, саусағыңыздың қандай да бір қимыл жасайтынын көреді. Егер таймер позицияны айтарлықтай өзгертпестен іске қосылса, айналдыру түрі бақылау оқиғаларын мазмұнды көрсетудің зиянды кіші түрлеріне жібереді. Егер пайдаланушы таймер аяқталғанға дейін саусағыңызды сипап жүрсе, айналдыру түрі кіші түрлердегі кез-келген бақылауды болдырмайды және өздігінен айналдырады. Ішкі сыныптар айналдыру көрінісі айналдыру қимылдарын қалай өңдейтініне әсер ету үшін touchesShouldBegin(_:with:in:), isPagingEnabled және touchesShouldCancel(in:) әдістерін жоққа шығаруы мүмкін.Айналдыру көрінісі мазмұнды масштабтау және панорамалау үшін де жұмыс істейді. Пайдаланушы қысу немесе қысу қимылын жасағанда, айналдыру көрінісі мазмұнның жылжуы мен масштабын реттейді. Қимыл аяқталған кезде, мазмұн көрінісін басқаратын нысан кірістірілген мазмұн көріністерін қажет болған жағдайда жаңартады. (Назар аударыңыз, қимыл аяқталуы мүмкін және саусақ әлі де түсіп кетуі мүмкін.) Қимылды орындау кезінде айналдыру түрі кіші түрлерге ешқандай бақылау қоңырауларын жібермейді.
Кескін көрінісі суретті қалай көрсету керектігін анықтау үшін өзінің contentMode қасиетін және кескіннің конфигурациясын қолданады. Өлшемдері кескін көрінісінің өлшемдеріне дәл сәйкес келетін суреттерді көрсеткен дұрыс, бірақ кескін көріністері сіздің суреттеріңізді қол жетімді кеңістіктің барлығына немесе бөліктеріне сәйкес болатындай етіп кеңейте алады. Егер кескін көрінісінің өлшемі өзгерсе, ол қажет болған жағдайда кескінді автоматты түрде масштабтайды.UIView.contentMode.scaleAspectFitжәнеUIView.ContentModрежимдері.scaleAspectFill кескіннің бастапқы арақатынасын сақтай отырып, өлшемді масштабтайды немесе кеңістікті толтырады. UIView.ContentMode мәні.ScaleToFill кескіннің бұрмалануына әкелуі мүмкін бастапқы арақатынасын ескерместен кескінді масштабтайды. Басқа мазмұн режимдері кескінді масштабтамай-ақ, кескінді бейнелеу шекарасындағы тиісті орынға орналастырады.Қақпақ кірістері бар кескіннің өзгермелі өлшемі үшін бұл кірістірулер кескіннің соңғы көрінісіне әсер етеді. Атап айтқанда, қақпақтардың кірістері кескіннің қай бөліктерін масштабтауға болатындығын және қай бағытта болатындығын анықтайды. Сіз өзгермелі өлшемді UIImage әдісін(withCapInsets:resizingMode:) қолдана отырып, өзгермелі өлшемді кескін жасай аласыз.
Осы типтегі кескінді пайдалану кезінде UIView-де кескін көрінісі мазмұнының режимі әдетте орнатылады.contentMode.ScaleToFill кескін тиісті жерлерде созылып, кескін көрінісінің шекараларын толтыратын етіп ScaleToFill.Суреттерді дайындау бойынша кеңестерді кескін көрінісіндегі күйін келтіру мәселелері бөлімінен қараңыз. Өзгермелі өлшемді қақпақтардың суреттерін жасау туралы қосымша ақпарат алу үшін UIImage бөлімін қараңыз. Сегменттелген басқару элементі тақырыпты (nsstring нысаны) немесе суретті (UIImage нысаны) көрсете алады. UISegmentedControl нысаны сегменттердің мөлшерін автоматты түрде өзгертеді, егер олар белгілі бір ені болмаса, олардың бақылаушысына пропорционалды түрде сәйкес келеді. Сегменттерді қосу және жою кезінде сырғу және өшіру эффектілері бар әрекетті анимациялауды сұрауға болады.
Сегменттелген басқару элементін орнату көрсету кезінде оның мінез-құлқына әсер етуі мүмкін:егер сіз сегменттелген басқару элементіне жедел мәнерді орнатсаңыз, пайдаланушы оны түрткен кезде сегмент таңдалған (көк фон) ретінде көрсетілмейді. Ашу түймесі әрдайым жылдам және нақты таңдауға әсер етпейді.IOS нұсқаларында 3.0 нұсқасына дейін, егер сегменттелген басқару элементінде тек екі сегмент болса, ол коммутатор сияқты әрекет етеді—таңдалған сегментті басу басқа сегментті таңдауды тудырады. IOS 3.0 және одан кейінгі нұсқаларында қазіргі уақытта таңдалған сегментті басу басқа сегментті таңдауға әкелмейді.
Сыртқы түрін баптау:IOS 5 және одан кейінгі нұсқаларында бөлімде көрсетілген әдістерді қолдана отырып, сегменттелген басқару элементтерінің сыртқы түрін реттеуге болады. Сіз барлық сегменттелген басқару элементтерінің сыртқы түрін сыртқы прокси-сервермен (мысалы, [UISegmentedControl көрінісі]) немесе тек бір басқару элементімен теңшей аласыз.Көріністі орнату кезінде, әдетте, жеке мәндер жиынтығы жоқ басқа күйлер пайдаланатын қалыпты күй күйінің мәнін көрсету керек. Сол сияқты, егер меншік бардың өлшемдеріне байланысты болса (iPhone-да ландшафт бағытында барлар стандартты емес биіктікке ие), сіз UIBarMetrics үшін мәнді көрсеткеніңізге көз жеткізуіңіз керек.default.Сегменттелген басқару жағдайында landscapePhone үшін сыртқы қасиеттер тек iPhone-да ландшафт бағдарында қолданылатын шағын навигациялық панельдер мен құралдар тақталарында сегменттелген басқару элементтері үшін құрметтеледі. Көріп отырғаныңыздай, iPhone және Android салыстыру операциялық жүйелер мен олардың аппараттық платформаларының артықшылықтары мен кемшіліктері бар екенін көрсетті. Сондықтан, Android немесе iOS-ті шешу өте субъективті, бірақ біз тырысамыз. Android және iOS-бұл жетілген, көп функциялы платформалар, олар айырмашылықтарға қарағанда әлдеқайда ұқсас.
Бағдарламаны іске асырып қосу реті: Қосымшаға IPHONE құрылғысы арқылы кіреміз
3.1-сурет – QR код қосымшасы
TestFlight қосымшасы арқылы QR code қосымшасын іске қосамыз.
TestFlight-бұл қазіргі уақытта Apple Inc-ке тиесілі және әзірлеушілерге тек iOS әзірлеу бағдарламасы арқылы ұсынылатын Мобильді қосымшаларды әуе арқылы орнатуға және сынауға арналған онлайн-қызмет.Әзірлеушілер ішкі немесе сыртқы бета-тестерлерге қосымшаларды тарату үшін қызметке тіркеледі, содан кейін олар әзірлеушілерге бағдарлама туралы Кері байланыс жібере алады.SDK TestFlight қосымша әзірлеушілерге қашықтағы журналдарды, сәтсіздік туралы есептерді және тестерлердің пікірлерін алуға мүмкіндік береді.
TestFlight бастапқыда Android Және iOS қосымшаларын тестілеуді қолдады, бірақ 2014 жылдың наурызынан бастап Apple Android қолдауын тоқтатты. 2015 жылдан бастап қосымшалар Xcode көмегімен TestFlight-те жариялануы керек, ал тестерлер iTunes Connect-пен шақырылуы керек.Шақырудан кейін 25-ке дейін ішкі тестерлер және 10 000 сыртқы бета-тестерлер қосымшаның құрастырылуын жүктей және тексере алады.
3.2-сурет – басты мәзір беті(1ші беті)
Басты бетте қосымшаға кірген кезіндегі QR кодын құру беті 3.2-суретте көрсетілген.
3.3-сурет – сканерлеу(2ші бет)
Екінші бетіндегі qr кодын сканерлеу парақшасы 3.3 суретте беріліп тұр.
3.4-сурет – баптаулар
3.4 сурет бізде баптаулар көріп тұрғандарыңыздай бұл жерде менің жеке құрылғымда тұрғанын байқауға болады.
3.5-сурет – сканерлеу нәтижесі
3.5-суретте бізде нәтижесі анық көрсетілген QR кодты танып бізге сілтемені шығарып беріп тұрғаны.
Жалпы қосымша 2 беттен тұрады. Басты бетте қосымшаға кірген кезінде QR кодын құру деп шығады.Яғни генерация жасайды. Бұл жерден кез-келген сөздің я болмаса сілтеменің qr кодын генерация арқылы жасап шығара аламыз.Әрі қарай бізде сканерлеу,ол қосымшаның екінші бетінде 3.3 суреттен көре аламыз.
3.6-сурет – интернет желі суреттегі qr ды сканерлеу
3.7-сурет – сканерлеп сілтемені шығару
Кодтау скриндарына шолу жасап өтейк:
3.8-сурет – генерация бөлімін іске асырудағы кодтау
3.9-сурет – сканерлеу бөлімін іске асырудағы кодтау
3.10-сурет – Қосымшаның Xcode әзірлеу ортасындағы интерфейсі
IOS тренажерлері тек macOS-та қол жетімді. IOS тренажерының мүмкіндіктері Xcode әзірлеуші құралдарында, бірақ Xcode ортасында кодты жазудың қажеті жоқ. Mac App Store дүкенінен Xcode орнату кезінде компьютерге бірнеше тренажерлер орнатылады. Бұл тренажерлер AppStudio Virtual Device мәзірінде көрінуі үшін Xcode пәрмен жолының құралдарын да орнату керек.
Егер iOS тренажерының басқа нұсқасы орнатылғаннан гөрі қажет болса, Xcode-да басқа тренажерлерді жүктеуге болады. Xcode ашып, мәзірді таңдаңыз > Xcode > Параметрлер > компоненттерді таңдаңыз, содан кейін жүктегіңіз келетін тренажер нұсқасын көрсетіңіз.
Егер тренажер AppStudio-да ашылса, ол автоматты түрде орнатылады (қажет болса) және AppStudio Player ашылады. Тренажер бағдарлама файлдарын тікелей оқиды және жұмыс үстеліне жүктейді, сондықтан ойнатқыш сіздің барлық қосымшаларыңызды бірден көрсетеді. Тренажердегі AppStudio Player-де жұмыс істейтін қосымшалар автоматты түрде AppStudio консоліне ақпарат береді.
Бір уақытта тек бір iOS тренажерін іске қосуға болады. Егер тренажерді өзгерту қажет болса, алдымен жұмысшыны өшіреміз.
3.11-сурет – Xcode әзірлеу ортасындағы логотип құру кезеңі
Достарыңызбен бөлісу: |