Swift 5: метод вызова раскадровки tabController из структуры ebmedded SwiftUI

Я не спал несколько ночей.

У меня есть контроллер swiftUI в UIHostingController.

class FiltryViewController: UIHostingController<MySwiftUIView> {
        required init?(coder aDecoder: NSCoder) {
            super.init(coder: aDecoder, rootView: MySwiftUIView())
        }
    }

в MySwiftUIView - это форма с кнопкой на панели навигации. Я хочу снова переключить вкладку, скажем, selectedIndex = 0. Есть ли способ сделать это? Как мне получить доступ к вкладкам раскадровки и переключить его из встроенного swiftUI?

struct MySwiftUIView: View {

    
    var countries = ["CZ","SK","UK"]


    var body: some View {

        NavigationView{
            Form{
                Section{
                    Picker(selection: $CountryIndex, label: Text("Country"))
                    {
                        ForEach(0 ..< countries.count){
                        Text(self.countries[$0]).tag($0)
                    }
                }
            }
            .navigationBarTitle(Text("Filters"))
            .navigationBarItems(leading:
                Button("<Back") {

                    print(" HERE I WANT TO LEAVE AND SWITCH TABBAR TO ANOTHER INDEX ")
                    
                }
            )
        }

Почему это не работает?:

let storyboard = UIStoryboard(name: "Main", bundle: nil)

let tabBarCont = storyboard.instantiateViewController(withIdentifier: "tabBarVC") as? UITabBarController

tabBarCont?.selectedIndex = 0

0 ответов

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