【问题标题】:SwiftUI Popover dismissHandler not calledSwiftUI Popover dismissHandler 未调用
【发布时间】:2019-07-03 14:51:52
【问题描述】:

这是我的设置:

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,因此第二次点击图像不会显示弹出框。

知道如何检测弹出框滑动吗? 还是我应该以不同的方式进行设置?

【问题讨论】:

    标签: swift popover swiftui


    【解决方案1】:

    Popover 在 beta 3 中已被弃用。我建议您升级。改变就是问题消失了。

    最好的情况,问题不再相关。

    【讨论】:

    • 但是当弹出框消失时我们如何调用代码呢?它看起来不像 .ONDisappear 有效:/。如果您认为我应该提出一个新问题,请告诉我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-27
    相关资源
    最近更新 更多