본문 바로가기
iOS/설명

[iOS] iOS의 화면 표현구조

by Sky Titan 2021. 7. 6.
728x90

※출처 - 꼼꼼한 재은씨의 Swift: 실전편

 

싸니까 믿으니까 인터파크도서

제대로 스위프트를 즐기는 방법 이 책은 전반적으로 하나의 메인 프로젝트를 완성해나가는 동시에 각 주제별로 소규모 앱을 만들면서 기능을 익히도록 구성되어 있습니다. 따라서 특정 주제나

book.interpark.com

iOS의 화면 표현구조

  • 모바일 UI는 하나의 스크린에 여러 개의 창을 띄울 수 있는 데스크톱과 달리 항상 하나의 화면만 꽉 차게 띄울 수 있다.
    • 다른 프로그램이 실행되면 기존 화면이 내려가고 새 화면을 채운다. -> 윈도우, 뷰 객체 사용
  • 윈도우 (Window)
    • iOS에서 디바이스의 스크린을 빈틈없이 채우기 위한 객체
    • 항상 UI표현 계층의 최상위에 위치
    • View의 일종이지만 직접 컨텐츠를 가지지 않고 컨텐츠를 가진 뷰를 내부에 배치하여 화면에 출력하는 역할만 한다.
    • 화면이 전환되더라도 윈도우 내부에 배치된 뷰 컨텐츠만 바뀌고 윈도우 객체 자체는 전환되지 않음
  • 뷰 (View)
    • 컨텐츠를 담아 스크린 상에 표시하고 사용자의 입력에 반응하는 객체
    • 윈도우의 일부를 자신의 영역으로 정의
      • 컨텐츠를 채워서 스크린에 나타내고 윈도우로부터 전달된 사용자의 입력에 반응하여 그에 맞는 결과 처리
  • iOS앱은 최소 하나 이상의 윈도우, 뷰가 존재한다.
    • 대부분의 경우 모바일 디바이스의 디스플레이는 하나이므로 하나의 윈도우만 존재하지만 외부 디스플레이가 연결되면 새로운 윈도우 객체가 생성된다.
  • 윈도우와 뷰 사이는 ViewController를 통해 연결
    • ViewController는 View의 계층을 관리하여 윈도우에 전달
    • 디바이스에서 발생한 터치 이벤트를 윈도우로부터 전달 받아 처리하는 역할
    • 때문에 윈도우는 View를 직접 관리하지 않음.
  • 씬 (Scene)
    • 스토리보드를 통해 편집하는 뷰 컨트롤러들은 각자 하나씩의 화면을 담당하는데 이를 '씬'이라고 함
    • 씬 1개 - 뷰 컨트롤러 1개
  • 컨텐츠 뷰 컨트롤러 (Contents ViewController)
    • 씬을 담당하여 컨텐츠를 표시하는 뷰 컨트롤러
  • 컨테이너 뷰 컨트롤러 (Container ViewController)
    • 씬을 표현하는 역할 대신, 다른 뷰 컨트롤러와의 연결 관계를 관리하는 뷰 컨트롤러
    • 뷰 컨트롤러를 배치하고 서로 유기적인 관계로 엮이도록 만듬
    • EX) NavigationController, TabBarController, PageController

 

728x90

'iOS > 설명' 카테고리의 다른 글

[iOS] 아이폰의 해상도  (0) 2021.09.18
[iOS] DispatchQueue  (0) 2021.07.26
[iOS] NSClassFromString  (0) 2021.07.05
[iOS] translatesAutoresizingMaskIntoConstraints  (0) 2021.06.17
[iOS] CAEmitterLayer로 애니메이션 효과 만들기  (0) 2021.06.15

댓글