iOS Pop to the root view
운영 체제: macOS Ventura 13.4.1
사용 버전: Xcode 14.3.1, Swift, SwiftUI
앱을 만들 때, 처음 화면(Root view)로 돌아가야 할 때가 있습니다. 이럴 때 어떻게 해야 하는지 알아봅시다.
pop이라는 용어를 쓰는 이유는 Navigation 할 때, 해당 뷰가 Stack에 저장되기 때문입니다. Stack에서는 저장할 때 Push, 나올 때 Pop을 씁니다. 그러니까 여기서는 Root view가 나올 때까지 꺼낸다는 뜻입니다.
일단 3개의 파일을 만듭니다.
사용 버전: 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
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.