본문 바로가기
iOS/iOS

[iOS] iOS의 화면 전환 - Segueway를 사용한 화면 전환(3/3)

by 원만사 2021. 12. 3.
반응형

화면을 전환하는 4가지 방법

 iOS의 화면 전환 방법에는 총 4가지가 있다.

  1. View Controller의 View 위에 다른 View로 바꿔치기
  2. View Controller에서 다른 View Controller를 호출하여 전환하기 (present) - 링크
  3. Navigation Controller를 사용하여 화면 전환하기 (push) - 링크
  4. 화면 전환용 객체 Segueway를 사용하기

 다음으로 화면 전환용 객체인 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?)

 

[Parameters]

  • identifier : 세그웨이 식별자
  • sender : 세그웨이 실행 객체

 

참고

- 「꼼꼼한 재은씨의 Swift : 기본편」 - 이재은 

- https://developer.apple.com/documentation/uikit/uiviewcontroller/1621413-performsegue/

- https://boidevelop.tistory.com/25

 

반응형

댓글