BOID

[iOS] 화면 전환하기(4/4) - HoonIOS 본문

IOS 시작기

[iOS] 화면 전환하기(4/4) - HoonIOS

HoonIOS 2021. 3. 27. 16:47
728x90

안녕하세요 HoonIOS입니다 :)

안녕하세요 이번에는 화면 전환에서의 마지막 세그웨이를 이용한 화면 전환에 대해 알아보겠습니다.

 

세그웨이라고 불리는 객체는 스토리보드에서 사용하는 것으로 뷰 컨트롤러 사이의 연결 관계에 대한 화면 전환을 관리하는 역할을 합니다.

 

세그웨이를 이용하면 따로 코드로 사용하지 않고 스토리보드로만 화면을 전환할 수 있는 게 특징입니다.

세그웨이에 관해

- 위 사진은 스토리보드에서 세그웨이를 보여주는 것으로 뷰컨트롤러 사이에 화살표로 되었는 것이 세그웨이라는 객체입니다. 좀 이따가 설명을 드리겠지만 위 모양의 세그웨이는 present(_:animated:) 메소드 역할을 하는 세그웨이입니다.

- 세그웨이는 한쪽으로만 통행할 수 있는 일반통행 다리라고 할수 있습니다. 즉, 한쪽으로만 흐르는 단방향 화면 전환인 것이죠

 

소스 코드와 세그웨이의 차이
  • 소스코드에서 메소드를 이용하면 이동할 뷰컨트롤러의 인스턴스를 생성하고 화면을 전환 합니다.
  • 세그웨이를 이용하면 뷰컨트롤러에 대한 정보가 없어도 되고 뷰컨트롤러의 객체(인스턴스)를 생성할 필요가 없습니다. 이 이유는 세그웨이가 스토리보드상의 연결정보를 이용하여 대상 뷰 컨트롤러의 인스턴스를 자동으로 만들어주기 때문이죠 :)

 

- 세그웨이의 목적지는 당연히 다음 화면의 뷰 컨트롤러 이겠죠? 그러면 출발지는 어디일까요?
정답은 버튼, 내비게이션 바 버튼, 테이블 셀이 될 수 있습니다.

세그웨이의 종류

- 출발점이 뷰 컨트롤러 자체인 경우를 매뉴얼 세그웨이라 합니다.

- 출발점이 버튼, 테이블 셀 등인 경우를 액션 세그웨이, 트리거 세그웨이라고 나누어 부릅니다.

 

그럼 여기서 매뉴얼 세그웨이를 이용하여 화면을 전환하려면 어떻게 해야 될까요?

바로 UIKit 프레임워크에 정의돼 performSegue(withIdentifier:sender:) 메소드를 사용하는 것입니다.

 

 어라? 분명히 세그웨이에 대해 설명할 때 소스코드를 사용하지 않아도 된다고 했는데 소스를 사용해야 하나요?라는 의문점이 생기셨을 텐데요

- 우선 정답부터 말씀드리면 세그웨이마다 다르다입니다.

  • 매뉴얼 세그웨이
    - 적절한 시점에 이 메소드를 사용하여 호출하기만 하면 세그웨이가 실행되어 화면이 전환이 일어납니다.
  • 액션 세그웨이
    - 버튼 터치 같은 트리거 이벤트가 세그웨이 실행으로 바로 연결되므로, 소스코드를 추가하지 않아도 화면 전환 기능을 구현할 수 있습니다.

 

우선 이번 포스팅에는 간편하게 세그웨이로 화면을 전환할 수 있다 라는 정도만 설명을 드렸는데요, 다음에는 세그웨이의 종류인 매뉴얼 세그웨이, 액션 세그웨이에 관한 내용과 전환 방법에 대해 알아보겠습니다.

반응형
Comments