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