SwiftUI Popover dismissHandler未调用

时间:2019-07-03 14:51:52

标签: swift popover swiftui

这是我的设置:

struct ControlView : View {
    let control: Control
    @State var showingPopover = false
    var body: some View {
        HStack {
            Text(control.name)
            Spacer()
            ControlKindView(control: control)
                .frame(width: 250)
            Image(systemName: "info.circle")
                .foregroundColor(.accentColor)
                .tapAction {
                    self.showingPopover = true
                }
                .presentation(showingPopover ?
                    Popover(content: ControlInfoView(control: control),
                        dismissHandler: {
                            self.showingPopover = false
                        }
                    )
                : nil)
        }
    }
}

我已经在self.showingPopover = <bool>处设置了断点,第一个被调用并显示弹出窗口,但是在将弹出式窗口扫除时未调用dismissHandler,因此,第二次点击图像将不会显示弹出窗口。

有什么主意如何检测弹出的滑动窗口? 还是应该对此进行其他设置?

1 个答案:

答案 0 :(得分:1)

Popover在Beta 3中已弃用。建议您升级。变化已经解决,问题就解决了。

在最佳情况下,该问题不再重要。