https://developer.apple.com/documentation/uikit#//apple_ref/doc/uid/TP40007072
"Construct and manage a graphical, event-driven user interface for your iOS or tvOS app."
iOS, tvOS 앱의 시각적 UI와 이벤트 관련 UI를 만들고 다루는 프레임워크입니다.
UIKit
은 iOS, tvOS 앱을 위한 인프라를 제공하는 프레임워크입니다. 인터페이스 작성을 위한 윈도우와 뷰 아키텍처를 제공하며, 멀티 터치와 기타 유형의 입력을 전달하는 이벤트를 다루는 것도 제공합니다. 그리고 사용자, 시스템, 앱 사이의 상호작용을 관리하는 데 필요한 메인 런 루프도 제공합니다. 애니메이션, 문서, 드로잉, 프린팅, 기기 정보, 텍스트 관리와 텍스트 표시, 검색 지원, 접근성 지원, 앱 확장 지원, 리소스 관리 같은 기타 지원사항도 이 프레임워크에서 제공하고 있습니다.
IMPORTANT
앱의 메인 스레드 혹은 메인 디스패치 큐에서만UIKit
을 사용해야 합니다. 이런 제약은UIResponder
로부터 비롯된 클래스 혹은 앱의 사용자 인터페이스를 생성하는 데 연관이 있는 클래스에 반드시 적용되어야 합니다.
iOS와 tvOS 앱을 위해 UIKit과 Xcode가 제공하는 기본적인 지원사항에 대해 배울 수 있는 글입니다.
https://developer.apple.com/documentation/uikit/about_app_development_with_uikit
https://velog.io/@panther222128/About-App-Development-with-UIKit
개인 데이터의 보안을 보장하고, 데이터가 어떻게 사용될 것인지에 대한 사용자 preference를 존중해줄 수 있도록 합니다.
https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy
https://velog.io/@panther222128/Protecting-the-Users-Privacy
UIKit
은 시스템에 대한 앱의 상호작용을 관리하고, 앱의 데이터와 리소스를 관리하기 위한 클래스들을 제공합니다.
생명주기 이벤트와 앱의 UI 씬을 관리합니다. 그리고 앱이 작동하는 특성과 환경에 대한 정보를 가져옵니다.
https://developer.apple.com/documentation/uikit/app_and_environment
https://velog.io/@panther222128/App-and-Environment-2tu9h2th
앱의 데이터를 조직화하고 해당 데이터를 페이스트보드에 공유합니다.
https://developer.apple.com/documentation/uikit/documents_data_and_pasteboard
https://velog.io/@panther222128/Documents-Data-and-Pasteboard
앱의 인터페이스 구현을 위해 사용하는 이미지, 스트링, 스토리보드, nib 파일을 관리합니다.
https://developer.apple.com/documentation/uikit/resource_management
https://velog.io/@panther222128/Resource-Management
시스템의 다른 부분으로 앱의 기본적인 기능을 확장시킵니다.
https://developer.apple.com/documentation/uikit/app_extensions
https://velog.io/@panther222128/App-Extensions
사용자에게 활동 기반 서비스를 표시합니다.
https://developer.apple.com/documentation/uikit/interprocess_communication
https://velog.io/@panther222128/Interprocess-Communication
사용자가 맥 기기에서 실행할 수 있는 아이패드 앱 버전을 생성합니다.
https://developer.apple.com/documentation/uikit/mac_catalyst
https://velog.io/@panther222128/Mac-Catalyst
제스쳐 리코그나이저에 있는 앱의 이벤트 처리 로직을 캡슐화함으로써 앱에서 해당 코드를 재사용할 수 있게 합니다.
https://developer.apple.com/documentation/uikit/touches_presses_and_gestures
https://velog.io/@panther222128/Touches-Presses-and-Gestures
드래그 앤 드롭을 사용해 앱 컨텐트를 직접 조작하는 것을 지원합니다.
https://developer.apple.com/documentation/appkit/drag_and_drop
https://velog.io/@panther222128/Drag-and-Drop-c5i2jzu8
커스텀 컨트롤 및 뷰에서 포인터 상호작용을 지원합니다.
https://developer.apple.com/documentation/uikit/pointer_interactions
https://velog.io/@panther222128/Pointer-Interactions
애플 펜슬을 사용해 더블 탭 사용자 상호작용을 처리합니다.
https://developer.apple.com/documentation/uikit/pencil_interactions
https://velog.io/@panther222128/Pencil-Interactions
원격, 게임 컨트롤러, 키보드를 사용해 UIKit 앱의 인터페이스를 탐색합니다.
https://developer.apple.com/documentation/uikit/focus-based_navigation
https://velog.io/@panther222128/Focus-Based-Navigation
메뉴 시스템, contextual 메뉴, 홈 스크린 퀵 액션, 키보드 단축키를 사용해 앱과의 상호작용을 단순화합니다.
https://developer.apple.com/documentation/uikit/menus_and_shortcuts
https://velog.io/@panther222128/Focus-Based-Navigation
애플 기기를 사용하는 모든 사람을 위해 앱을 접근성 있도록 만듭니다.
https://developer.apple.com/documentation/accessibility
https://velog.io/@panther222128/Accessibility
뷰는 스크린에 컨텐트 표시를 돕고 사용자 상호작용을 기능하게 합니다. 뷰 컨트롤러는 뷰와 인터페이스의 구조 관리를 돕습니다.
컨텐트를 스크린에 나타내고 해당 컨텐트에 허용된 상호작용을 정의합니다.
https://developer.apple.com/documentation/uikit/views_and_controls
https://velog.io/@panther222128/Views-and-Controls