Я не знаю, как помочь с вызовом навигационной ссылки, но, возможно, я знаю способ сделать то, что вы хотите ..
Помните, что в SwiftUI мы используем структуры, и они static
. По этой причине вы не можете установить self.link1.presented?.value
на true
во время выполнения кода.
Чтобы сделать это, вы можете сначала изменить var
на @State var
, что означает, что SwiftUI сделает эту переменную динамической. Имея это в виду, вы можете управлять тем, какое представление вы будете показывать, просто сохраняя, какая опция отмечена.
Я изменил ваш код, чтобы показать это:
//begining of your struct
@State var selectedOption = 1
//something changed the selectedOption
self.selectedOption = 2
//Here your NavigationLink ( use it without button)
NavigationLink("Link Text", destination: selectedOption == 1 ? View1 : View2)
Надеюсь, это поможет!