小编Shr*_*ava的帖子

如何在应用程序 SwiftUI 中从任何地方显示警报?

我有条件在视图中显示警报,该视图可以从应用程序中的任何位置显示。就像我想从根视图中呈现它一样,这样它就可以在所有视图中显示。目前,当我从第一个视图呈现时,它将显示该警报,直到我流动相同的导航视图。一旦任何工作表打开,警报就不会显示在其上。SwiftUI 中有任何解决方案可以将警报从一处显示到整个应用程序。

这是我当前的代码实现。这是我的 contentView,其中显示工作表并在其中添加警报。

 struct ContentView: View {
    @State var showAlert: Bool = false
    @State var showSheet: Bool = false
    var body: some View {
        NavigationView {
            Button(action: {
                showSheet = true
            }, label: {
                Text("Show Sheet")
            }).padding()
            .sheet(isPresented: $showSheet, content: {
                SheetView(showAlert: $showAlert)
            })
        }
        .alert(isPresented: $showAlert, content: {
            Alert(title: Text("Alert"))
        })
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,我从工作表中切换警报,但不显示警报。

 struct SheetView: View {
    @Binding var showAlert: Bool
    var body: some View {
        Button(action: {
            showAlert = true
        }, label: {
            Text("Show Alert")
        }) …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift swiftui

11
推荐指数
2
解决办法
7610
查看次数

标签 统计

ios ×1

swift ×1

swiftui ×1

xcode ×1