タブバーページにポップアップを表示したい。サブページにポップアップ ビューを作成します。共有クラス 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
}
}
}
ポップアップと呼びたいサブページの 1 つ
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")
}
}
}
}