SwiftUI의 NavigationView에서 displayMode를 사용할 때 애플리케이션 충돌
displayMode
에서 NavigationView
를 지정하면 앱이 시작될 때 충돌합니다. 이 버그는 Xcode 12 베타 2에서 수정되었습니다. 그러나 충돌은 항상 Xcode 11.6에서 발생합니다.환경
문제가 있어요!!
이 예제 코드는 정확합니다.
struct HomeView : View {
var body: some View {
NavigationView {
VStack {
Text("ねこ")
}
.navigationViewStyle(StackNavigationViewStyle())
.navigationBarTitle(R.string.localizable.home_title())
.navigationBarItems(leading: Text("設定"))
}
.onAppear {
FA.track(page: "ホーム")
}
}
}
이 샘플 코드는 앱이 시작될 때 충돌합니다.
struct HomeView : View {
var body: some View {
NavigationView {
VStack {
Text("ねこ")
}
.navigationViewStyle(StackNavigationViewStyle())
.navigationBarTitle(Text(R.string.localizable.home_title()), displayMode: .inline)
.navigationBarItems(leading: Text("設定"))
}
.onAppear {
FA.track(page: "ホーム")
}
}
}
문제를 해결했습니다!
분명히 이것은 Xcode 12 Beta2에서 수정되었지만 Xcode 11.6부터 탐색 모음 투명도 플래그가
false
로 설정되면 앱이 충돌합니다.UINavigationBar.appearance().isTranslucent = false
true
로 설정하면 앱이 충돌하지 않습니다.UINavigationBar.appearance().isTranslucent = true
메모
원문은 "SwiftUIで NavigationViewでdisplayModeを指定するとアプリ実行時にクラッシュする "입니다. 저는 기계 번역을 사용합니다.
Reference
이 문제에 관하여(SwiftUI의 NavigationView에서 displayMode를 사용할 때 애플리케이션 충돌), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ch3cooh/application-crashes-when-using-displaymode-in-swiftui-s-navigationview-3hcd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)