본문 바로가기
iOS_Swift

SwiftUI) .fullScreenCover .sheet 사용시 Dismiss 되어버리는 문제

by DevJake 2025. 2. 5.

SwiftUI 에서 .fullScreenCover 이나 .sheet 를 사용해서 뷰 이동을 하는 경우가 있다. 

그런데 어느 순간부터인가부터 이상한 현상이 발생했다. 

버튼을 눌러 뷰 이동을 하면, 

뷰 이동을 했다가 0.2초? 0.3초만에 다시 뒤로 돌아와 버린다. 

그런데 더 이상한건 한번 그러고 나면, 원래대로 작동한다. 

 

그런데 해당 SwiftUI 뷰에서 완전히 나가서 초기화가 되면, 

다시 똑같은 현상이 발생 

기존에 문제가 발생하던 코드

이런 코드였는데, 

.fullScreenCover 를 가장 바깥쪽으로 빼서 붙여주면 해결. 

 

NavigationView 에 붙여주었다

 

NavigationView 를 사용하지 않는 경우에는 맨 앞에 Stack 에 붙여주어도 된다. 

 

ChatGPT 4시간 찾았는데 엉뚱한 소리만 해대고, 

Stackoverflow 랑 Apple 개발자 커뮤니티 뒤지다가 

버그같다. 해결은 했는데 잘 모르겠다가 대부분이다가

힌트 한줄 발견. 

https://developer.apple.com/forums/thread/665960

 

박제용으로 기록.

댓글