https://developer.apple.com/documentation/uikit/view_controllers
"Manage your interface using view controllers and facilitate navigation around your app's content."
뷰 컨트롤러를 사용해서 인터페이스를 관리하고, 앱 컨텐트를 쉽게 탐색할 수 있도록 합니다.
UIKit
앱의 인터페이스를 관리하기 위해 뷰 컨트롤러를 사용할 수 있습니다. 뷰 컨트롤러는 여러 하위뷰를 포함할 수 있는 하나의 루트 뷰를 관리합니다. 해당 뷰 계층구조에 대한 사용자 상호작용은 필요한 경우 앱의 다른 객체를 조정하는 뷰 컨트롤러에 의해 처리됩니다. 모든 앱은 컨텐트가 메인 윈도우를 채우는 뷰 컨트롤러를 적어도 하나는 갖고 있습니다. 앱이 한 번에 스크린을 채울 수 있는 수보다 더 많은 컨텐트를 가지고 있는 경우 해당 컨텐트의 다른 부분을 관리할 수 있도록 여러 뷰 컨트롤러를 사용할 수 있습니다.
컨테이너 뷰 컨트롤러는 자신의 루트 뷰에 다른 뷰 컨트롤러의 컨텐트를 끼워넣습니다. 컨테이너 뷰 컨트롤러는 탐색을 쉽게 하고 고유한 인터페이스를 생성할 수 있도록 자식 뷰 컨트롤러의 컨텐츠를 갖는 커스텀 뷰를 혼합할 수 있습니다. 예를 들어 UINavigationController
객체는 네비게이션바를 관리하고 자식 뷰 컨트롤러의 스택을 관리하며(한 번에 한 가지만 시각화되는), 스택으로부터 자식 뷰 컨트롤러를 추가, 사게하기 위한 API를 제공합니다.
UIKit
은 네비게이션 및 특정 타입의 컨텐트를 관리하기 위한 몇 가지 표준 뷰 컨트롤러를 제공합니다. 앱의 커스텀 컨텐트를 포함하는 뷰 컨트롤러를 정의할 수 있습니다. 새 네비게이션 스키을 구현하기 위해 커스텀 컨테이너 뷰 컨트롤러를 정의할 수도 있습니다.
뷰 컨트롤러로부터 앱의 UI를 빌드할 수 있으며, 새 컨텐트를 표시하길 원하는 시점에 현재 시각화된 뷰 컨트롤러를 변경할 수 있습니다.
https://developer.apple.com/documentation/uikit/view_controllers/managing_content_in_your_app_s_windows
https://velog.io/@panther222128/Managing-Content-in-Your-Apps-Windows
앱의 커스텀 인터페이스를 관리하기 위해 뷰 컨트롤러를 서브클래싱합니다.
스토리보드에 뷰 컨트롤러를 빌드하고, 커스텀 뷰와 함께 설정하며, 앱 데이터로 해당 뷰를 채웁니다.
https://developer.apple.com/documentation/uikit/view_controllers/displaying_and_managing_views_with_a_view_controller
https://velog.io/@panther222128/Displaying-and-Managing-Views-with-a-View-Controller
다른 테크닉을 사용해서 뷰 컨트롤러를 표시합니다. 그리고 뷰 컨트롤러 사이에 전환이 진행되는 동안 데이터를 전달합니다.
https://developer.apple.com/documentation/uikit/view_controllers/showing_and_hiding_view_controllers
https://velog.io/@panther222128/Showing-and-Hiding-View-Controllers
UIKit 앱의 뷰 계층구조를 관리하는 객체입니다.
https://developer.apple.com/documentation/uikit/uiviewcontroller
https://velog.io/@panther222128/ViewController
테이블 뷰 관리에 특화된 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uitableviewcontroller
https://velog.io/@panther222128/UITableViewController
컬렉션 뷰 관리에 특화된 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uicollectionviewcontroller
https://velog.io/@panther222128/UICollectionViewController
다른 커스텀 뷰를 갖는 하나 혹은 하나 이상의 뷰 컨트롤러로들부터 컨텐트를 결합해 복합 인터페이스를 생성합니다.
https://developer.apple.com/documentation/uikit/view_controllers/creating_a_custom_container_view_controller
https://velog.io/@panther222128/Creating-a-Custom-Container-View-Controller
계층구조 인터페이스를 구현하는 컨테이너 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uisplitviewcontroller
https://velog.io/@panther222128/UISplitViewController
계층구조의 컨텐트를 네비게이션 동작하기 위한 스택 기반 스킴을 정의하는 컨테이너 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uinavigationcontroller
https://velog.io/@panther222128/UINavigationController
보통의 경우 네비게이션 컨트롤러와 함께 스크린 상단에 따라 바에서 표시되는 네비게이션의 컨트롤입니다.
https://developer.apple.com/documentation/uikit/uinavigationbar
https://velog.io/@panther222128/UINavigationBar
연결된 뷰 컨트롤러가 시각화될 때 네비게이션 바가 표시하는 아이템입니다.
https://developer.apple.com/documentation/uikit/uinavigationitem
https://velog.io/@panther222128/UINavigationItem
선택이 어떤 자식 뷰 컨트롤러를 표시할지를 결정하는 다중 선택 인터페이스를 관리하는 컨테이너 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uitabbarcontroller
https://velog.io/@panther222128/UITabBarController
앱에서 다른 하위작업, 뷰, 모드 사이를 선택할 수 있도록 탭바에 있는 하나 혹은 하나 이상의 버튼을 표시하는 컨트롤입니다.
https://developer.apple.com/documentation/uikit/uitabbar
https://velog.io/@panther222128/UITabBar
탭바에서 아이템을 나타내는 객체입니다.
https://developer.apple.com/documentation/uikit/uitabbaritem
https://velog.io/@panther222128/UITabBarItem
자식 뷰 컨트롤러가 각 페이지를 관리하는 컨텐트 페이지들 사이에서 탐색을 관리하는 컨테이너 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uipageviewcontroller
https://velog.io/@panther222128/UIPageViewController
전환 애니메이션 및 뷰 컨트롤러 스크린의 프리젠테이션을 관리하는 객체입니다.
https://developer.apple.com/documentation/uikit/uipresentationcontroller
https://velog.io/@panther222128/UIPresentationController
시트의 모양 및 동작을 관리하는 프리젠테이션 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uisheetpresentationcontroller
https://velog.io/@panther222128/UISheetPresentationController
인터페이스에서 검색 결과의 프리젠테이션을 관리하는 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uisearchcontainerviewcontroller
https://velog.io/@panther222128/UISearchContainerViewController
검색바에 대한 상호작용에 기반해 검색 결과의 표시를 관리하는 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uisearchcontroller
https://velog.io/@panther222128/UISearchController
사용자로부터 검색 관련 정보를 받기 위한 특수한 뷰입니다.
https://developer.apple.com/documentation/uikit/uisearchbar
https://velog.io/@panther222128/UISearchBar
사용자에게 앱에서 로컬 혹은 원격 문서에 대한 접근 권한을 제공합니다.
https://developer.apple.com/documentation/uikit/view_controllers/adding_a_document_browser_to_your_app
https://velog.io/@panther222128/Adding-a-Document-Browser-to-Your-App
앱 컨테이너 외부에 있는 디렉토리의 컨텐트에 접근하기 위해 문서 picker를 사용합니다.
https://developer.apple.com/documentation/uikit/view_controllers/providing_access_to_directories
https://velog.io/@panther222128/Providing-Access-to-Directories
로컬 및 클라우드에 저장한 문서에 브라우징하거나 액션을 수행하기 위한 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uidocumentbrowserviewcontroller
https://velog.io/@panther222128/UIDocumentBrowserViewController
앱 샌드박스의 외부에 있는 문서 혹은 목적지에 접근권한을 제공하는 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uidocumentpickerviewcontroller
https://velog.io/@panther222128/UIDocumentPickerViewController
앱이 직접 처리할 수 없는 파일 포맷으로 프리뷰, 열기, 프린트 파일을 하는 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uidocumentinteractioncontroller
https://velog.io/@panther222128/UIDocumentInteractionController
앱으로부터 표준 서비스를 제공하는 데 사용하는 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uiactivityviewcontroller
https://velog.io/@panther222128/UIActivityViewController
활동 뷰 컨트롤러에 전달되는 데이터에 대한 프록시입니다.
https://developer.apple.com/documentation/uikit/uiactivityitemprovider
https://velog.io/@panther222128/UIActivityItemProvider
app-specific 서비스를 구현하기 위한 서브클래싱하기 위한 추상 클래스입니다.
https://developer.apple.com/documentation/uikit/uiactivity
https://velog.io/@panther222128/UIActivity
시스템 종료 후 앱을 이전 상태로 되돌립니다.
https://developer.apple.com/documentation/uikit/view_controllers/preserving_your_app_s_ui_across_launches
https://velog.io/@panther222128/Preserving-Your-Apps-UI-Across-Launches
컨텐트를 스크린에 나타내고 해당 컨텐트에 허용된 상호작용을 정의합니다.
https://developer.apple.com/documentation/uikit/views_and_controls
https://velog.io/@panther222128/Views-and-Controls