Contents

Atachment
첨부 '2'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

Modal Views, Navigation Views 한꺼번에 닫기 (popToRoot)

다음과 같이 모달 뷰가 쌓여 있는 상황을 가정한다.


View-0 presents View-1 which presents View-2.


View-0 화면이 Root이고 View-2가 사용자가 보는 최상위 화면이다.

이 때, View-2에서 View-0으로 바로 이동하려고 할 때 기대되는 동작은 View-2가 애니메이션으로 pop 또는 dismiss 되면서 그 밑에 View-0 화면이 보이는 것이다. (이 과정에서 중간의 View-1는 보이지 않아야 한다.)


하지만, 다음과 같이 구현하면 View-2View-1 순서대로 보이면서 사라지거나 View-2 대신 View-1이 애니메이션으로 pop/dismiss 되면서 View-0 화면이 보이게 된다.


self.presentingViewController?.presentingViewController?.dismiss(animated: true, completion: nil)

Or

self.presentingViewController?.dismiss(animated: false, completion: nil)
self.presentingViewController?.dismiss(animated: true, completion: nil)


저 코드는 이렇게 동작할 것이다.

behavior_01.gif


하지만, 모달 뷰가 여러 개 겹쳐서 실행되고 있을 때 최상위 모달 뷰에서 다른 뷰를 보지 않고 최상위 뷰가 애니메이션 되면서 한번에 Root 화면으로 이동하고 싶을 때 이렇게 하면 된다.


@IBAction func dismissViewControllers(_ sender: UIButton) {
    var initialPresentingViewController = self.presentingViewController
    while let previousPresentingViewController = initialPresentingViewController?.presentingViewController {
        initialPresentingViewController = previousPresentingViewController
    }


    if let snapshot = view.snapshotView(afterScreenUpdates: true) {
        initialPresentingViewController?.presentedViewController?.view.addSubview(snapshot)
    }

    initialPresentingViewController?.dismiss(animated: true)
}


이렇게 잘 동작한다 ㅋㅋ

behavior_02.gif



[참고] https://stackoverflow.com/questions/54266115/how-to-dismiss-2-modal-view-controllers-without-weird-animation/54266224

[참고] https://stackoverflow.com/questions/3229755/dismissing-multiple-modal-view-controllers-at-once



?

  1. 해커스랩 깨기.. 후후.. ㅋㅋ

    Date2013.04.23 CategorySystem/OS Byhooni Views18497
    Read More
  2. 플라스터(Plaster) 수업 내용

    Date2016.05.24 CategoryEtc Byhooni Views0
    Read More
  3. 프로그램 문서 관리 (Doxygen)

    Date2013.04.23 CategoryDevelop Byhooni Views16428
    Read More
  4. 프로그래밍에서 foo, bar 함수의 유래

    Date2013.06.25 CategoryDevelop Byhooni Views21366
    Read More
  5. 프로그래밍 소스 관련 사이트..

    Date2013.04.23 CategoryDevelop Byhooni Views16516
    Read More
  6. 페이팔에서 돈 찾기 (Paypal withdraw)

    Date2014.02.20 CategoryDevelop Byhooni Views11447
    Read More
  7. 티스토리 테이블 html,css 구문

    Date2013.11.03 CategoryEtc Byhooni Views16025
    Read More
  8. 콘솔에서 패스워드 걸린 zip 압축하는 명령

    Date2018.03.02 CategorySystem/OS Byhooni Views1077
    Read More
  9. 컴파일러 수업 자료(교재 : 컴파일러 입문)

    Date2003.04.23 CategorySystem/OS Byhooni Views22047
    Read More
  10. 캘리포니아 운전면허 족보

    Date2017.06.12 CategoryDevelop Byhooni Views847
    Read More
  11. 캘리포니아 운전면허 문제

    Date2017.07.22 CategoryEtc Byhooni Views1138
    Read More
  12. 최근 논문 자료 (2011/01/03, 만현형한테 보낸거..)

    Date2013.04.23 CategoryDevelop Byhooni Views10366
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 98 Next
/ 98