У меня есть две раскадровки, одна из которых содержит все, чем на самом деле является приложение, а другая содержит руководство для моего приложения.
Как только учебник закончен, я хочу вернуться к своему исходному контроллеру представления.
Это мой код для перехода на другую раскадровку:
let defaults = UserDefaults.standard
if defaults.bool(forKey: "firstOpened") {
print("First VC launched")
}else{
var vc: UIViewController
let goTo = UIStoryboard(name: "Onboarding", bundle: nil).instantiateViewController(withIdentifier: "notificationStoryboard") as! FirstOnboardingViewController
self.present(goTo, animated: true, completion: nil)
}
С этим он работает, за исключением того, что TabBarController не показывает и не работает так, как я хочу.
И это мой код для перехода обратно на Main.Storyboard:
@objc func handleSecondPush() {
//registerForRemoteNotifications()
UserDefaults.standard.set(true, forKey: "firstOpened")
let goTo = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "pushToFeedVC")
self.present(goTo, animated: true, completion: nil)
//self.performSegue(withIdentifier: "goToLink", sender: nil)
}
Я также пробовал это на другой раскадровке, но при этом кнопка не меняет вид:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "MainTabBarController") as! UITabBarController
print(controller)
self.window?.rootViewController = controller
self.window?.makeKeyAndVisible()
if let tabBarVc = self.window?.rootViewController as? UITabBarController {
tabBarVc.selectedIndex = 1
}
Вопрос вкратце: Итак, мой вопрос: как я могу вернуться к main.storyboard, который будет содержать TabBarController с выбранным индексом 1, из раскадровки, не содержащей навигации? контроллер или TabBarController?