[패스트캠퍼스] 30개 프로젝트로 배우는 iOS 앱 개발 with Swift 초격차 패키지 Online을 학습하면서 나오는 이론 내용과 공식 문서에서 필요한 내용을 발췌하여 정리한 글입니다.

Part2. Basic 2. LED 전광판 앱 만들기

Content View Controller

기본적으로 화면을 구성하는 뷰를 직접 구현하고 관련된 이벤트를 처리하는 뷰 컨트롤러
(스토리보드 생성시 기본으로 생성되는 뷰 컨트롤러)

Container View controller

여러요소를 조합한 인터페이스를 구성하고 직접 무언가를 보여주는 역활은 없으며, 뷰 컨트롤러 간에 부모-자식 관계를 형성하여 관리하는 역활을 맡는 뷰 컨트롤러

  • 하나 이상의 Child View Controller를 가지고 있다.
  • 하나 이상의 Child View Controller를 관리하고 레이아웃과 화면 전환을 담당한다.
  • 화면 구성과 이벤트 관리는 Child View Controller 에서 한다.
  • Container View Controller는 대표적으로 Naviagtion Controller와 TabBar Controller가 있다.

계층 구조로 구성된 Content를 순차적으로 보여주는 스택 기반 체계인 Container View Controller

Settings 앱에서 General로 들어가게 되면 General 자식 뷰 컨트롤러가 나타나게 되고 이전의 뷰 컨트롤러는 가려지게 된다. 그리고 최상단 네비게이션 바에서 뒤로가기 버튼을 선택하면 이전에 숨겨진 뷰 컨트롤러가 나타나게 된다.
네비게이션 컨트롤러는 네비게이션 스택 칭하는 정렬된 배열을 사용하여 자식 뷰 컨트롤러를 관리한다.

배열의 첫번째 뷰 컨트롤러는 Root View Controller를 의미하고 스택의 가장 밑에 있다는 것을 의미한다. 배열의 마지막 뷰 컨트롤러는 스택의 최상단을 의미한다. (현재 화면을 의미한다.)

개발자는 세그웨이를 사용하거나 또는 UINavigation Controller Methood를 사용해서 스택으로부터 뷰 컨트롤러를 추가하고 제거할 수 있다.

사용자는 뒤로가기 버튼을 이용해서 최상단 뷰컨트롤러를 제거할 수 있으며 Left Edge Swipe를 이용해서도 제거할 수 있다.

네비게이션 스택은 Last in first out로 스택에 나중에 들어온게 먼저나가는 구조이다.

A화면은 설정화면 B화면은 일반화면이다.
A화면 - 설정화면으로 첫번째 뷰 컨트롤러이기 때문에 Root View Controller를 의미하고 B화면 - 일반화면은 Chiled View Controller 이다.

설정화면에서 일반을 탭하게 되면 일반화면 표시되고 네비게이션 뷰 스택 설정화면 위에 알림화면이 쌓이게 된다. 이렇게 쌓이게 되는 것을 PUSH 했다라고 말한다. 여기서 뒤로가기를 하게 되면 POP 했다라고 말한다.

Navigation Controller를 구현할 시 화면 최상단에 항상 보여지는 네비게이션 바

Root View Controller 외에 모든 뷰 컨트롤러에 Back버튼이 있어서 유저가 계층구조에서 빠져나올 수 있게 해준다.

네비게이션 바는 슬라이드의 사진과 같이 네비게이션 바, 버튼 아이템, 타이틀, 프롬프트로 되어 있으며 자식 뷰 컨트롤러마다 다른 네비게이션 바를 구성할 수 있다.

profile
새해 목표 : 1일 1 깃, 블로그, 프로그래머스 2문제

0개의 댓글