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()

Python OpenCV 빈 화면 만들기

tensorflow tf.random.uniform()

Android Notification with Full Screen

KiCad 시작하기 2 (PCB 만들기)

Android Minimum touch target size

Python bs4.SoupStrainer()

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

음악 총보(Score), 파트보(Part)

tensorflow tf.expand_dims()