[UIKit] 화면 전환 개념 알아보기

jonghwan·2022년 12월 1일
0

UIKit

목록 보기
2/3
post-thumbnail

화면 전환 방법

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

Storyboard를 통해 전환하는 방식

대표적인 네 가지 방법

View Controller의 View위에 다른 View를 가져와 바꿔치기

View Controller에서 다른 View Controller를 호출하여 전환하기

Navigation Controller를 사용하여 화면 전환하기

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

View Controller의 View위에 다른 View를 가져와 바꿔치기

View Controller의 View위에 다른 View를 가져와 바꿔치기 방법은 사용하지 않는다.

그 이유는 View위에 다른 View를 가져와 바꿔치기 한다면 메모리 누수 위험이 있기 때문이다.

View Controller에서 다른 View Controller를 호출하여 전환하기

Navigation Controller를 직접 호출해서 화면에 표시하는 방법

이전화면으로 돌아가는 메서드

Navigation Stack에 새로운 화면을 표시하는 메서드

이전화면으로 돌아가는 메서드

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

Segueway란?

세그웨이(Segue)라고 불리는 객체는 스토리보드에서 뷰 컨트롤러 사이의 연결 관계 및 화면 전환을 관리하는 역할을 한다.

세그웨이는 화면과 화면을 연결하기 위해 아무런 소스 코드도 필요로 하지 않는다는 특징이 있는데, 뷰 컨트롤러와 뷰 컨트롤러 또는 화면 전환의 매개체가 되는 버튼과 뷰 컨트롤러 사이를 직접 연결하는 식으로 화면 전환 관계를 구성한다.

세그웨이는 출발지와 목적지가 정해져 있고 한쪽 방향으로만 흐르는 화면 전환이다.

Segueway의 종류는 두 가지로 Action Segueway와 Manual Segueway가 존재한다.

Action Segueway

액션 세그웨이는 트리거(Trigger)와 세그웨이가 직접 연결된 것을 의미한다.

트리거란 터치 또는 클릭 이벤트를 발생시켜 세그웨이를 실행할 수 있는 요소를 말한다.

주로 버튼이나 테이블 셀 등의 컨트롤과 손가락으로 그리는 특정 패턴을 인식하는 제스처 등이 이에 해당한다.

액션 세그웨이는 화면 전환을 위해 프로그래밍 코드가 일절 필요하지 않을 뿐만 아니라, 스토리보드에 구현된 객체를 트리거로 지정하기만 하면 되므로 전체적인 구성이 굉장히 단순해진다는 장점이 있다.

액션 세그웨이에는 총 5가지 종류가 있다.

Show

가장 일반적인 세그웨이로, 내비게이션 컨트롤러를 이용할 때 쓰는 세그웨이다.
이 세그웨이를 통해 다음 컨트롤러로 화면을 전환한다면 내비게이션 컨트롤러 메서드와 같이 스택 맨 위에 쌓인다고 생각하면 된다.

Show Detail

split View에서 사용하는 세그웨이로 아이패드에서 사용하면 split View 구조인 master, slave 구조가 되어 보인다.

Present Modally

이전 View Controller를 덮으면서 새로운 화면이 나타나는 방식
Present As Popover

아이패드에서 사용되는 방식으로 팝업창을 띄울 때 사용한다.

아이폰에서는 사용하지 않는다.

Custom

사용자가 원하는 방식으로 커스텀할 때 사용한다.

Manual Segueway

메뉴얼 세그웨이는 해당 이벤트만 발생하면 자동으로 실행되는 액션 세그웨이와 달리 뷰 컨트롤러와 뷰 컨트롤러 사이에 연결되는 수동 실행 세그웨이다.

액션 세그웨이와는 다르게 트리거 없이 수동으로 실행해야 하므로 소스 코드에서 세그웨이를 실행할 메소드를 호출해야 한다.

메뉴얼 세그웨이를 실행하기 위한 메소드는 다음과 같다.

func performSegue(withIdentifier identifier: String, sender: Any?)

0개의 댓글