UIKit은 iOS 및 tvOS 앱의 그래픽 및 이벤트 기반 인터페이스를 만드는 데 사용되는 프레임워크입니다. 여기에는 사용자 인터페이스를 구성하는 여러 클래스와 프로토콜이 포함되어 있으며, 대표적인 것들은 다음과 같습니다.
UIView는 모든 사용자 인터페이스 구성 요소의 기본 클래스로 화면에 그려질 수 있는 모든 객체의 기본 단위입니다.
그리기, 레이아웃, 이벤트 핸들링 등의 기본 동작을 제공합니다.
버튼, 슬라이더, 스위치 등은 모두 UIView를 상속받는 클래스입니다.
UIViewController는 화면 상의 콘텐츠를 관리하는 객체로, 하나 이상의 뷰를 관리하는 컨테이너입니다.
뷰 컨트롤러는 사용자 인터페이스의 일부분을 캡슐화하며, 해당 부분의 생명 주기와 관련된 이벤트를 관리합니다.
뷰 컨트롤러는 다른 뷰 컨트롤러와 협력하여 앱의 인터페이스를 구성합니다. 예를 들어, 탭 바 컨트롤러, 내비게이션 컨트롤러 등이 있습니다.
이러한 클래스들은 UIView를 상속받아 특별한 기능을 제공하는 컨트롤들입니다.
UIButton은 사용자가 터치할 수 있는 버튼을 표시합니다.
UILabel은 텍스트를 표시합니다.
UITextField는 사용자가 텍스트를 입력할 수 있는 필드를 제공합니다.
UITableView는 목록 형태의 데이터를 표시하는 데 사용되며, 각 행에는 하나의 셀이 있습니다.
UICollectionView는 그리드 레이아웃을 사용하여 데이터를 표시합니다. 더 복잡한 레이아웃도 지원됩니다.
이러한 뷰는 데이터 소스와 델리게이트를 사용하여 내용과 동작을 관리합니다.
UINavigationController은 스택 기반의 내비게이션을 제공하는 뷰 컨트롤러입니다.
UITabBarController는 다양한 뷰 컨트롤러 간의 탭 기반의 전환을 관리하는 컨테이너 뷰 컨트롤러입니다.
사용자의 터치, 핀치, 스와이프 등의 제스처를 인식하고 처리하는 클래스입니다.
여러 제스처를 조합하여 복잡한 상호 작용을 만들 수 있습니다.
이 외에도 많은 뷰와 뷰 컨트롤러, 관련 클래스와 프로토콜이 UIKit 프레임워크에 포함되어 있으며, 이들을 조합하여 다양한 사용자 인터페이스를 만들 수 있습니다.