[16일차] [LED 전광판 앱]


으아.. 바람 맞으며 자서 목이 아프고 몸살이 났어요.. 이 글을 읽으시는 분들은 환절기 조심하셔야겠습니다.

.

아프든 아니든 Swift의 연구는 계속됩니다.

이 시리즈는 led 점수판 앱 개발입니다.

역시 설정 화면에서 LED 실드에 표시할 텍스트와 폰트를 설정하면 그대로 화면에 뜨는 심플한 앱입니다.

그런데 이 앱에 화면 전환 기능이 있어서 또 새로운 걸 배울 것 같습니다.

먼저 UINavigationController부터 배워봅시다.

이를 이해하려면 콘텐츠 보기 컨트롤러와 컨테이너 보기 컨트롤러에 대해 잘 알고 있어야 합니다.

콘텐츠 뷰 컨트롤러?

화면을 구성하고 관련 이벤트를 처리하는 뷰를 직접 구현하는 뷰 컨트롤러입니다.

한마디로 한 화면의 사용자 인터페이스와 기능을 담당하는 컨트롤러다.

컨테이너 뷰 컨트롤러?

하나 이상의 하위 뷰 컨트롤러가 있으며 이를 관리하고 레이아웃 및 화면 변환을 담당합니다.

화면 구성 및 이벤트 관리는 Child View Controller(Content View Controller)에서 처리합니다.

내비게이션 컨트롤러와 TabBar 컨트롤러가 있습니다.

이 개념을 쉽게 이해하려면 iPhone 설정 앱으로 이동하면 됩니다.

iPhone 설정 앱을 처음 실행할 때 가장 먼저 보게 되는 화면은 Content View Controller입니다.

그러나 특정 설정 메뉴를 누르면 해당 설정과 관련된 세부 설정을 할 수 있는 새로운 화면이 나타납니다.

이때 Container View Controller는 설정 메뉴를 눌러 세부 설정 화면으로 이동하는 역할이라고 생각하시면 됩니다.

그런 다음 변환 후 다시 보게 되는 세부 설정 화면 자체가 Content View Controller가 됩니다.

Settings 앱의 경우 Navigation Controller를 사용하였으며 데이터 구조를 잘 연구하여 데이터 구조를 상상할 수 있습니다.

세부설정 화면 진입 후 뒤로가기 버튼을 누르면 원래 화면으로 돌아가지 않나요?


오? 마지막으로 본 화면이 먼저 메모리에서 지워지는 구조죠? -> LIFO(후입선출) 예? -> 스택 구조!

강이라고 생각하시면 됩니다.

마지막으로 내비게이션 바를 살펴보겠습니다.


출처: https://developer.apple.com/design/human-interface-guidelines/components/navigation-and-search/navigation-bars/

내비게이션 바는 사용자가 내비게이션 컨트롤러를 통해 콘텐츠 뷰를 자유롭게 이동하고, 기본적으로 제공되는 뒤로가기 버튼을 통해 내비게이션 컨트롤러의 계층 구조에 따라 이전에 보던 뷰로 전환할 수 있도록 도와주는 UI 컴포넌트입니다.

기본적으로 막대에 있는 항목의 이름을 설정하는 제목입니다.

B. BackItem 제목 및 TopItem 제목,

탐색 모음의 맨 위에 있는 명령 프롬프트와 탐색 모음의 기능을 담당하는 요소로 구성됩니다.

패스트 캠퍼스로 이동: http://bit.ly/3Y34pE0