Skip to content

Latest commit

 

History

History
141 lines (103 loc) · 10.6 KB

Lecture 3 - UIKit.md

File metadata and controls

141 lines (103 loc) · 10.6 KB

#UIKit

UIKit е най-често използваната библиотека при разработването на iOS приложения.Чрез нея може да се построи и управлява графичния интерфейс на приложението,който е базиран на събития,които могат да бъдат предизвикани от потребителя,нотификации,операционната система и др.Тя съдържа основните компоненти на приложението като визуални елементи.Текстови визуализации, бутони,таблици,колекции,системни навигации и други.

Както Foundation библиотеката дефинира класове,протоколи и функции за различните платформи,така UIKit дефинира визуалните компоненти и основи за едно приложение. UIKit също дефинира класове,протоколи,функции,типове данни и константи.Тя добавя и допълнителен слой към Foundation класовете.

UIKit предоставя необходимата инфраструктура за приложенията.Визуалните компоненти,обработването на събитията свързани с действия изпълнени по екрана и постоянния цикъл,който се грижи за връзките между потребителя, операционната система и приложението.

Библиотеката също така поддържа обработката на анимации,документи,рисуване и принтиране,съдържа информация за текущото устройство,управлението на текстове и визуализацията им,управление на ресурсите и др.

Изключително важно е модификациите на интерфейса на приложението да се изпълняват само върху главната нишка на приложението. Вижте защо и как.

Всеки клас,който принадлежи към библиотеката започва с префикса UI. Cocoa Touch и UIKit стъпват основно на MVC(Model View Controller) шаблона,който е един от разпространените шаблони в обектно ориентираното програмиране. В MVC, модела (Model) е под контрол на бизнес логиката на приложението,негова отговорност е комуникацията с базата данни например. Възуалния слой (View) визуализира данните представени от модела на потребителя и също така управлява потребителския интерфейс и обработва действията на потребителя. Контролера е връзката между визуалния слой и модела. Докато визуалния слой и модела обикновено не си комуникират помежду си, контролера комуникира и с двата. Поради тази причина, визуалния слой (UIKit) е лесно преизползваем,т.к. не е зависим от модела и от контролера.

UIApplication - При стартирането на едно iOS приложениe се създава една единствена инстанция от този клас(singleton) и остава единствена докато приложението е в паметта. Инстанцията на този клас е началната точка за всички действия на потребителя и тя изпраща събитията към съответните обекти, които са регистрирани да следят за конкретно събитие. UIApplication има обект делегат в приложението, който се създава заедно със създаването на iOS проекта и той се нарича AppDelegate.

UIKit дефинира UIView класа, който обикновено е отговорен за визуализирането на съдържанието върху екрана. UIApplication управлява main event loop на приложението и жизнените му функции по време на изпълнението му.

##Структура на приложението UIKit управлява връзката на приложението със системата и предоставя класове с които да управлявате данните и ресурсите му.

##Потребителски интерфейс View обектите Ви помагат да визуализирате съдържанието на екрана и улесняват действията на потребителя. View Controller-ите Ви помагат да управлявате View-тата и структурата на интерфейса.

###View ####1.Свойства на View-то

1.Изобразяване и подсписъка от наследници

  • Дефинира размера си спрямо View родителя си.
  • Управлява списъка от View децата си.
  • Може да променя позицията и размера на децата си.
  • Може да конвертира точки от координатната си система към такава на други View обекти или на главния екран.

2.Рисуване и анимации

  • Рисува съдържанието си в правоъгълната си форма.
  • Някой свойства на View-то могат да бъдат анимирани.

3.Обработка на събития

  • Може да приема натисканията по екрана от потребителя.
  • Може да участва в responder chain.

####2.Йерархия view_hierarchy

####3.Елементи

  • alpha, hidden, opaque
  • bounds, frame, center, transform
  • autoresizingMask, autoresizesSubviews
  • contentMode, contentStretch, contentScaleFactor
  • gestureRecognizers, userInteractionEnabled, multipleTouchEnabled, exclusiveTouch
  • backgroundColor, subviews, drawRect: method, layer, (layerClass method)

##User Interactions Responders (UIResponder) и Gesture Recognizers Ви помагат да обработвате докосвания,жестове,клавиатурни входове и други събития. Можете да използвате Drag and Drop,Peek and pop и accessibility за да обработите други типове действия на потребителя.

##Графика,рисуване и принтиране UIKit предоставя класове и протоколи,с които да конфигурирате средата на чертане и да визуализирате съдържанието си.

##Текст В допълнение към текстовите View обекти, които улесняват визуализацията на текст в приложението Ви,UIKit предоставя възможност за модифициране на текста и визуализацията му.

##Референции и полезни връзки