小编lid*_*ers的帖子

呈现工作表时,不触发SwiftUI onDismiss(Xcode Beta 5)

在SwiftUI中,我试图在关闭工作表但不调用'onDismiss'闭包后运行一些代码。

我正在运行Xcode Beta 5,目标是IOS 13

import SwiftUI

struct ModalView : View {
    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
    var body: some View {
        Group {
            Text("Modal view")
            Button(action: { print("Dismiss button pressed"); self.presentationMode.value.dismiss() }) { Text("Dismiss") }
        }
    }
}

struct ContentView: View {
    @State var showModal: Bool = false
    var body: some View {
        Button(action: { self.showModal = true }) { Text("Show modal via .sheet modifier") }
        .sheet(isPresented: $showModal, onDismiss: { print("Modal Dismissed") }) { ModalView() }


    }
}
Run Code Online (Sandbox Code Playgroud)

我应该看到:

Dismiss …
Run Code Online (Sandbox Code Playgroud)

ios13 swiftui

4
推荐指数
1
解决办法
419
查看次数

标签 统计

ios13 ×1

swiftui ×1