rudin_.log
로그인
rudin_.log
로그인
[iOS] Adaptive Segue
RudinP
·
2024년 2월 10일
팔로우
0
UIkit
iOS
스터디
0
Study
목록 보기
142/227
Segue 는 [ségwei]라고 발음한다. segue way 가 아니었던것..(쪽팔리다)
Segue의 역할
씬 생성
화면 전환
Segue의 연결 방식
씬끼리 연결
씬 자체는 탭 이벤트 발생 X
segue를 코드로 실행
[참고]
컨트롤과 씬을 연결
컨트롤에서 터치 이벤트 발생 시 segue 자동 실행
버튼이나 테이블뷰 셀 처럼 선택 가능한 컨트롤과 연결
이를 세그웨이 트리거라고 함
화면 전환 시퀀스
1. Source: shouldPerformSegue(withIdentifier: sender: )
여기에서 true가 리턴되면 segue 객체가 만들어짐
destination view Controller가 만들어짐
2. Destination: init()
3. Destination: awakeFromNib()
4. Source: prepare(for:sender:)
화면 전환 전 필요한 준비작업
데이터 전달 코드 구현
5. Source Transition Started-Destination Appeared
Adaptive Segue
상황에 따라 적합한 방식으로 바뀌어 적용되기 때문에 적응형 segue라고 부른다.
Push
Navigation Controller에 임베드 되어있을 시 기본 방식
Replace
Modal
기본 방식
Popover
아이폰에서는 모달 방식이 기본이지만, 아이패드에서는 팝오버가 기본 방식
Custom Segue
UIStoryboardSegue 를 서브클래싱
perform을 오버라이딩
참고글
Unwind Segue
segue는 단방향 트랜지션만 처리할 수 있다.
즉, destination 에서 source로 돌아갈 수 없다.
반대로 연결이 가능하긴 하지만, 그건 다른 segue인 것
이전 화면으로 돌아가는 것을 이
unwind segue
로 구현하면 된다.
[참고글]
Push Segue
segue를 선택 시 연결되어있는 트리거가 강조된다.
만약 segue의 종류를 바꾸고 싶다면 인스펙터의 kind탭에서 설정 가능하다.
실행 화면
Navigation Controller
에 임베드되어있지 않으면 모달로 표시된다.
Replace Segue
주로 split view에서 사용
실행 화면
split view
에 임베드되어있지 않으면 모달로 표시된다.
Modal Segue
인스펙터를 보면 Presentation과 Transition이 추가된다.
새로운 화면을 표시하는 방식과, Transition을 선택 가능
실행 화면
Popover Segue
화살표의 방향과, 앵커를 설정하는 옵션이 추가된다.
실행 화면
아이폰에서는 모달과 동일하다.
스플릿뷰라면 뷰를 교체하고, 나머지는 modal 방식으로 표시
Segue의 동작 방식
iPhone
Push
: Navigation Controller에 임베드되어있지 않을 시 모달과 동일
Replace
: Split view가 아닐 시 모달과 동일
Modal
Popover
: iPhone에서 사용 시 모달과 동일
iPad
Push
Form sheet
방식
화면 전체를 채우는 것도 가능하나, 아이패드에서는 form sheet가 기본
Replace
Modal
Popover
Popover를 표시한 컨트롤러를 앵커라고 한다. 여기서는 버튼.
앵커의 위치와 segue의 속성 값에 따라 꼬리표가 표시되는 방향이 달라진다.
Navigation Controller
뷰 컨트롤러를 Navigation Controller로 임베드
Push
Back 버튼을 누르면 Pop된다.
Navigation Controller Stack에 Push한다고 함
iPad도 동일
나머지는 동일
RudinP
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>
팔로우
이전 포스트
[iOS] Storyboard
다음 포스트
[iOS] Segue의 실행과 제어
0개의 댓글
댓글 작성