SwiftUI.popover.com';删除列表行后无法工作

SwiftUI.popover.com';删除列表行后无法工作,swiftui,popover,mac-catalyst,Swiftui,Popover,Mac Catalyst,我有一个SwiftUI列表,其中的行包含一个拇指。单击时,此拇指会打开一个带有更大版本图像的弹出窗口 我所面临的问题是,当一行的popover打开时,从列表中删除该行时,popover保持打开状态,无法关闭它,最终导致一个不可用的UI 我的目标是在从列表中删除该行时自动关闭popover 以下是该行正文的精简版本。我使用按钮是因为它比OnTap手势事件更可靠 @State private var showPopover: Bool = false var body: some View {

我有一个SwiftUI列表,其中的行包含一个拇指。单击时,此拇指会打开一个带有更大版本图像的弹出窗口

我所面临的问题是,当一行的popover打开时,从列表中删除该行时,popover保持打开状态,无法关闭它,最终导致一个不可用的UI

我的目标是在从列表中删除该行时自动关闭popover

以下是该行正文的精简版本。我使用按钮是因为它比OnTap手势事件更可靠

@State private var showPopover: Bool = false

var body: some View {

    Button(action: { self.showPopover = true }) {
        Image(systemName: "photo")
            .onDisappear { self.showPopover = false}
    }
    
    .popover(isPresented: $showPopover, arrowEdge: .leading) {
        Image(systemName: "photo")
    }
}
您可以使用以下命令:

要解除,请向下滑动或点击后退按钮!(我保证它会被解雇)100%

您可以使用以下命令:

要解除,请向下滑动或点击后退按钮!(我保证它会被解雇)100%


好。。。谢谢,但我想保留这件府绸而不是床单。此外,床单似乎不会因为接触到床单的外部而被忽视(尽管没有对此进行太多调查)。然而,是的,当列表中的行被删除时,工作表会自动被删除。“工作表似乎不会因为触摸外部而被删除”它们会通过正确的编码被删除。。。谢谢,但我想保留这件府绸而不是床单。此外,床单似乎不会因为接触到床单的外部而被忽视(尽管没有对此进行太多调查)。然而,是的,当列表中的行被删除时,工作表会自动被删除。“工作表似乎不会因为触摸外部而被删除”,它们会通过正确的编码被删除
    import SwiftUI

struct ContentView: View {
    
    
    @State private var showModalView: Bool = false
    
    var body: some View {
        
        VStack
        {
            Button("showModalView") {showModalView.toggle()}
        }
        .sheet(isPresented: $showModalView, content: {
            
            ZStack
            {
                Color.red
                    .ignoresSafeArea()
                
                Button("← Back"){showModalView.toggle()}.foregroundColor(Color.black)
            }
        })
        
        
        
    }
    
}