이걸 작성하는 이유는 VC2 -> VC1으로 화면전환시 데이터 전달과 함께 불투명하게 사용하고 싶어서 작성하게 됨.
우선, 토이프로젝트를 통해 delegate를 이용하여 데이터 전달하는 방법은 성공!!
그러나 내 Mediku 프로젝트에는 뷰 전환 방식이 있어,
주로 스토리 보드에 identifier를 지정 후 전환하는 방식을 사용했다.
이렇게 사용하게된 이유는 화면 전환시 navigation controller가 없으면 modal로 처리되는 점과
무엇보다도 스토리보드 마다 계속 선을 연결해줘야해서 스토리보드 수가 많아지면 너무 복잡해지는 단점이 있다.
아무튼 주목해야할 부분은 .overCurrentContext 이 부분을 일단 보자.
이렇게 주어야 현재 컨텍스트가 보전되서 불투명 뷰를 만들 수 있다. 즉, 기존뷰의 viewWillDisappear이 실행되지 않는다는 의미이다.
(우선 프로젝트를 완성해야하는 것이 급하기 때문에 다양한 화면 전환에 대해서 전부 확인해 보지는 못해서 틀릴 수도 있음.)
그리고 궁금증이 하나가 더 생겼다.
바로 버튼을 직접 ctrl 을 이용해 다른 뷰에 연결한 경우 ( VC1 -> VC2 로 연결 )
VC2 -> VC1 로 돌아올 때 dismiss 가 작동하지 않는다.
원인을 찾아보고자 노력했지만, ctrl을 이용해서 했을 경우 정확하게 어떤 원리로 segue가 연결되는건지 확인하기가 어려워서, 화면 복귀에 어려움을 겪었는데 내가 처리한 방법은 바로
** unwind 방식의 사용이였다
unwind 세그는 복귀하고자 하는 뷰에 작성해야한다.
그리고 다른 뷰에서 스토리 보드에 docker 부분에 exit으로 연결하면 된다.
unwind 방식을 이번 기회에 엄청 다르게 보게 되었는데, 우선 뷰의 전환시 스파게티처럼 꼬여버린 상황을 이 방식으로 단숨에 정리할 수 있다는 장점이 있다. 자주 사용하자 ㅎ_ㅎ
'deprecated > 원격의료(project-ios)' 카테고리의 다른 글
[iOS14] datePicker + Alert (0) | 2021.05.24 |
---|---|
[iOS14] VC2 -> VC1 데이터 전달 (delegate) (0) | 2021.05.24 |
[iOS] TextField + Alert (0) | 2021.05.21 |
[iOS] Mediku (0) | 2021.05.21 |
[iOS] DatePicker + Alert 커스터마이징 (0) | 2021.05.21 |