# 화면전환: 세그웨이Segueway
yoogail105 opened this issue · comments
# 화면전환: 세그웨이Segueway
segue
: 스토리보드에서 뷰 컨트롤러 사이의 연결 관계 및 화면 전환을 관리- 화면 전환을 위한 소스 코드가 필요하지 않음
- 세그웨이가 스토리보드의 연결 정보를 이용하여 대상 뷰 컨트롤러의 인스턴스 자동으로 생성
- 화면 전환의 관계를
화살표 →
로 표시- 한 방향으로만 화면 전환 가능
출발지에 따른 세그웨이의 종류 ?
- 매뉴얼 세그웨이: 뷰컨트롤러에서 출발
- 버튼 터치 액션과 같은 트리거가 없기 때문에 추가 소스코드를 작성해야 한다.
performSegue(withIdentifier:sender:)
- 소스코드에서 적절한 시점에 이 메소드를 호출하면 세그웨이 실행 → 화면 전환
- 액션/트리거 세그웨이: 버튼 등으로부터 출발
- 터치 이벤트 등이 세그웨이 실행으로 이어지기 때문에, 추가 소스 코드 필요 X
- show: 내비게이션컨트롤러 통해 화면 전환
- 내비게이션 컨트롤러 없이 show타입 세그웨이 이용 → presentModally 방식으로 전환
- presentModally: 내비게이션컨트롤러 사용 X
세그웨이로 이동한 화면 복귀하기
- 이전 화면의 방향으로 다시 세그웨이를 만든다? → ❌
- 세그웨이는 목적지의 뷰 컨트롤러의 인스턴스를 자동으로 생성한다.
- 이전화면의 인스턴스는 이미 존재, 중복되기 때문에 안된다.
- 세그 웨이의 전환 방식에 따라, 알맞은 화면 전환용 메서드를 호출한다.
- present방식:
dismiss(animated:)
- navigationController이용:
popViewController(animated:)
- present방식:
Unwind Segue
이용- 스토리보드 뷰의 도크 바 3번째 버튼
Exit
- 현재 화면을 종료, 이전 화면으로 돌아가는 Unwind segue 구현할 수 있음
- VC2의
Exit
버튼을 VC2 자신의이전
버튼과 연결
- 스토리보드 뷰의 도크 바 3번째 버튼
🔖 참고
- 꼼꼼한 재은씨의 Swift: 기본편