Как изменить переменные состояния одну за другой в SwiftUI?

у меня естьMenuс несколькими кнопками. Каждая кнопка представляет собой URL-адрес. При выборе одной из кнопок я хочу представить веб-просмотр, загружающий указанный URL-адрес, используя.fullScreenCover(isPresented:)

       @State private var showWebPage = false
    
 @State private var urlToLoad = ""

...

View()
     .toolbar {
         ToolbarItem(placement: .navigationBarTrailing) {
                                                       Menu {
                                                          Button("FAQ", action: {
                                        presentWebView(for: "https://example.com/faqsLink")
                                    })
                                                          Button("Privacy Policy", action: {
                                        presentWebView(for: "https://example.com/privacyLink")
                                    })
                                                          Button("Terms and Conditions", action: {
                                        presentWebView(for: "https://example.com/termsLink")
                                    })
}
}
}
.fullScreenCover(isPresented: $showWebPage) {
                    WebView(url: URL(string: urlToLoad)!)
                }

private func presentWebView(for url: String) {
   urlToLoad = url
   showWebPage.toggle()
}

Каждый раз, когда я пробую это,urlToLoadвсе еще пуст, когда я переключаюshowWebPageЯ чувствую, что это связано с тем, как@Stateработает, но не могу понять, я все еще новичок в SwiftUI.

0 ответов

Другие вопросы по тегам