화면 전환에 필요한 기술

 

 

Content View Controller

  • 화면을 구성하는 뷰를 직접 구현하고 관련된 이벤트를 처리하는 뷰 컨트롤러

Container View Controller

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

UINavigationController

계층구조로 구성된 content를 순차적으로 보여주는 container view controller

예시: 아이폰 기본 설정 앱처럼 들어가고 들어가는.

네비게이션 스택(Navigation Stack)이라는 정렬된 스택을 사용하여서 자식을 관리한다.

자료구조의 스택이 쌓이는 것과 동일. (LIFO) / Push, pop

처음 스택이 rootView이고 그 이후가 childView

 

알아야할 기술 - Navigation Bar

 

화면 전환 방법 2가지

 1. 소스코드를 통해 전환하는 방식

 2. 스토리보드를 통해 전환하는 방식

 

혹은 뷰컨의 뷰 위에 다른 뷰를 가져와서 바꿔치기 (사용 X) -> 메모리 누수 위험

혹은 뷰컨에서 다른 뷰컨 호출해서 전환하기

혹은 네비게이션 컨트롤러 사용하여 화면 전환

혹은 화면 전환용 객체 세그웨이 사용하여 전환

 

뷰컨에서 다른 뷰컨 호출하기

https://developer.apple.com/documentation/uikit/uiviewcontroller/1621380-present

 

Apple Developer Documentation

 

developer.apple.com

Parameters

viewControllerToPresent

The view controller to display over the current view controller’s content.

flag

Pass true to animate the presentation; otherwise, pass false.

completion

The block to execute after the presentation finishes. This block has no return value and takes no parameters. You may specify nil for this parameter.

다시 이전화면으로 돌아가게 하는 메서드

dismiss 메서드이다.

https://developer.apple.com/documentation/uikit/uiviewcontroller/1621505-dismiss

 

Apple Developer Documentation

 

developer.apple.com

dismiss 메서드는 화면을 걷어내는 느낌.

 

Navigation Controller 으로 화면 전환하기

 

 

객체 세그웨이를 사용하여 화면 전환하기

 

세그웨이를 사용하면 코드가 필요없고 스토리보드만으로 화면 전환이 가능하다.

+ Recent posts