JUDA-Hrmi / JUDA

6 stars 0 forks source link

MyPageView -> Login -> MyPageView 에서 Navigation 이동 시, UI 오류 해결 #174

Closed Phangg closed 6 months ago

Phangg commented 7 months ago

Snapshotting a view (0x12a70ed70, _UIButtonBarStackView) that is not in a visible window requires afterScreenUpdates:YES.

UIButtonBarStackView 라는 키워드로 봐서는 Toolbar 의 문제로 파악이 된다.

앱에서 사용하는 TabView 중에 MyPageView 만, toolbar 를 사용 중. MyPageView 에서 이동하는 View 는 모두 toolbar 를 사용 중. LoginView 도 toolbar 를 사용 중.

하지만! MyPage 에서 Login 했을 때만, 그 이후의 네비게이션을 통한 화면이동에 에러가 있다는 것은.. MyPage -> Login 의 이동에서 뭔가 toolbar 의 영역에대한 문제가 있는 것이 아닐까-

현재 4월 13일까지 다양한 테스트를 진행중이지만, 아직 해결하지 못함.

Phangg commented 7 months ago

MyPage 에서 툴바 관련 코드를 삭제하고 코드를 실행해도 안됨 Login 쪽 툴바 코드를 삭제하고 해도 안됨

**** 화면을 못그림 / Setting 에서 onAppear 에 print 는 찍힘

**** 네비게이션 스택에는 쌓임.. UI 만 그려지지가 않음 / 그래서 authViewModel 의 상태변수들 찍어봤는데, 잘 변경되어있음..

Phangg commented 6 months ago

추가 오류

*** Assertion failure in -[SwiftUI.UIKitNavigationBar layoutSubviews], UINavigationBar.m:3856
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Layout requested for visible navigation bar, <SwiftUI.UIKitNavigationBar: 0x108484070; baseClass = UINavigationBar; frame = (0 53.6667; 393 44); opaque = NO; autoresize = W; layer = <CALayer: 0x600000370da0>> delegate=0x10a0d0000, when the top item belongs to a different navigation bar. topItem = <UINavigationItem: 0x10805b840> style=navigator leadingItemGroups=0x600000deec10 leftItemsSupplementBackButton trailingItemGroups=0x600000dec780 largeTitleDisplayMode=never, navigation bar = <SwiftUI.UIKitNavigationBar: 0x107f79b80; baseClass = UINavigationBar; frame = (0 53.6667; 393 44); opaque = NO; autoresize = W; layer = <CALayer: 0x60000039e800>> delegate=0x109925c00, possibly from a client attempt to nest wrapped navigation controllers.'
*** First throw call stack:
Phangg commented 6 months ago

해결 과정

가벼운 생각으로 적었던 코드가 돌고 돌아서 이렇게 날 괴롭힐 줄 몰랐다. 다시 배우게 된 점은.. 코드를 처음부터 정말 침착하게 다 읽어보는 것도 좋다는 것..