SwiftUI:如何在所有视图中显示视图?(特别是床单)

SwiftUI:如何在所有视图中显示视图?(特别是床单),swiftui,Swiftui,我想在用户点击图像时在所有视图上显示图像查看器。没有工作表时,它可以正常工作,但如果视图中有工作表,图像查看器将留在其后面。如何在图纸上显示图像查看器?我研究得太多了,但还没有找到任何解决办法 ContentView: @ObservedObject var authVM: AuthVM = .shared var body: some View { ZStack{ TabView(selection: self.$authVM.selected

我想在用户点击图像时在所有视图上显示图像查看器。没有工作表时,它可以正常工作,但如果视图中有工作表,图像查看器将留在其后面。如何在图纸上显示图像查看器?我研究得太多了,但还没有找到任何解决办法

ContentView:

@ObservedObject var authVM: AuthVM = .shared

    var body: some View {
        ZStack{
            TabView(selection: self.$authVM.selectedTab) {
                HomeTab()
                    .tabItem {
                        Image(systemName: "house.fill")
                            .renderingMode(.template)
                        Text("Home")
                    }.tag(SelectedTab.home)
                // Other tabs...
            }
            
            if self.authVM.showImageViewer{
                PhotoViewer(viewerImages: $authVM.images, currentPageIndex: $authVM.imageIndex)
                    .edgesIgnoringSafeArea(.vertical)
            }
        }
    }
我正在使用带有UIViewControllerRepresentable的SKPhotoBrowser pod(UIKit),也许我们可以在UIKit中做些什么来解决它

    import SwiftUI
    import SKPhotoBrowser
    
    struct PhotoViewer: UIViewControllerRepresentable {
        
        @ObservedObject var authVM: AuthVM = .shared
        @Binding var viewerImages:[SKPhoto]
        @Binding var currentPageIndex: Int
    
        func makeUIViewController(context: Context) -> SKPhotoBrowser {
            SKPhotoBrowserOptions.displayHorizontalScrollIndicator = false
            let browser = SKPhotoBrowser(photos: viewerImages)
            browser.initializePageIndex(currentPageIndex)
            browser.delegate = context.coordinator
            return browser
        }
    
        func makeCoordinator() -> Coordinator {
            Coordinator(self)
        }
    
        func updateUIViewController(_ browser: SKPhotoBrowser, context: Context) {
            browser.photos = viewerImages
            browser.currentPageIndex = currentPageIndex
        }
    
        class Coordinator: NSObject, SKPhotoBrowserDelegate {
    
            var control: PhotoViewer
    
            init(_ control: PhotoViewer) {
                self.control = control
            }
    
            func didShowPhotoAtIndex(_ browser: PhotoViewer) {
                self.control.currentPageIndex = browser.currentPageIndex
            }
            
            func didDismissAtPageIndex(_ index: Int) {
                self.control.authVM.showImageViewer = false
            }
}
}

您没有在包含的代码中显示任何
工作表
s,并且这里没有足够的代码来复制任何内容。您是否尝试过
.fullScreenCover
?工作表位于选项卡的子视图中。是的,我尝试了,但它无法处理另一个工作表:(我在terminal:EnvironmentKeyWritingModifierCSo22NSManagedObjectContext\uuuuuuuuux7FA0B7818730>上遇到此错误),该工作表已显示