iOS Pop to the root view

운영 체제: macOS Ventura 13.4.1
사용 버전: Xcode 14.3.1, Swift, SwiftUI

iOS Pop to the root view를 알아보겠습니다.


앱을 만들 때, 처음 화면(Root view)로 돌아가야 할 때가 있습니다. 이럴 때 어떻게 해야 하는지 알아봅시다.
pop이라는 용어를 쓰는 이유는 Navigation 할 때, 해당 뷰가 Stack에 저장되기 때문입니다. Stack에서는 저장할 때 Push, 나올 때 Pop을 씁니다. 그러니까 여기서는 Root view가 나올 때까지 꺼낸다는 뜻입니다.


일단 3개의 파일을 만듭니다.




각 내용은 다음과 같습니다.

ContentView

NavigationLink(destination:, isActive:)를 사용합니다.

isActive의 해당 값이 true 면 화면 전환이 일어납니다.







Number2

@Binding으로 isActive 인자 값을 넘겨받습니다.






Number3

@Binding으로 isActive 인자 값을 넘겨받고, 해당 값을 false로 만들어주면 화면 전환이 취소가 됩니다.






실행해 봅시다.








위의 코드로 iOS16에 그냥 사용해도 잘 작동됩니다. 다만, 새롭게 추가된 NavigationStack 등이 사용되면 작동하지 않습니다.


iOS 16 이상에서는 NavigationStack 등 API의 변화가 있기 때문에 다른 방식으로 접근해야 합니다.

NavigationStack으로 변경해 주고, path를 사용합니다.

navigationDestination을 사용합니다.








Number2






Number3

removeLast를 이용해서 Path를 지워줍니다. 그러면 Root로 돌아갑니다.





실행해 봅시다.





끝.



카테고리: iOS

댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

KiCad 시작하기 4 (기존 회로도 수정 및 추가)

Android Compose Coil library

KiCad 시작하기 1 (회로도 만들기)

Android Notification with Full Screen

iOS Swift callAsFunction

Forensics .pyc 파일 .py로 복구하기

iOS Error Undefined symbol Testing.Trait

Android Custom IME(Input method editor) 만들기

Android Compose automation for getting localized images to use on Play Store app image