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