微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swiftui 将视图发送到另一个视图以弹出

如何解决swiftui 将视图发送到另一个视图以弹出

我想在标签页面显示弹出窗口。我将在子页面中创建弹出视图。我想通过共享类 ObservableObject 发送视图。反正我也解决不了。你能帮我解决这个问题吗?

我的股票价值

class sharedValues: ObservableObject {
    
    @Published var showingPopup = false
    
    var sharePopupView ? // i want to use this view for popup
}

我的标签页。它有很多子页面

struct TabPage: View {
    @EnvironmentObject var share : sharedValues
    
    var body: some View {
        vstack(spacing:0) {
            
            NavigationView{
                
                switch share.selectedItemIndex {
                case 0: Shop()
                case 1: ConversationsView()
                    
                case 2: GameHome()
                case 3: GameHome()
                default: GameHome()
                }
            }
            
            Tabbar()
            
        }
        .popup(isPresented: $share.showingPopup,type: .`default`,animation: .spring(),cloSEOnTapOutside: true) {
            share.sharePopupView
        }
        
    }
    
}

我想调用弹出的子页面之一

struct ConversationsView: View {
    
    @viewbuilder private func popup1View() -> some View {
        Button(action:{
            print("buton tap")
        }){
            Text("Placeholder")
        }
    }
    
    @viewbuilder private func sunpage1() -> some View {
        HStack(){
            Button(action: {
                share.sharePopupView = popup1View() // i want to use this view for popup
                share.showingPopup = true
            }) {
                Text("delete all")
            }
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。