У меня есть UIContainerView
, внутри которого у меня есть UINavigationController
и другие VC, встроенные в UINavigationController
(7 из них).
Итак, это выглядит так:
На этих 7 экранах внутри UINavigationController
я вызываю всплывающий экран, который затем следует перенаправить на другой экран, из которого пользователь может выполнить обратный переход к вызову всплывающего окна VC.
Итак, путешествие пользователя внутри UINavigationController
будет выглядеть так: Открыт VC1 (2,3,5,6,7) -> ВызываетсяВсплывающее VC -> Нажатая кнопка -> Открытое VC4 -> Нажатая навигационная кнопка возврата -> Возврат к VC1.
Вот мой код:
@IBAction func didPressAuthors(_ sender: UIButton) {
self.dismiss(animated: true) {
if let navigation = UIApplication.shared.keyWindow?.rootViewController as? UINavigationController {
let vc1 = self.storyboard!.instantiateViewController(withIdentifier: "FirstVC")
let vc2 = self.storyboard!.instantiateViewController(withIdentifier: "SecondVC")
let vc3 = self.storyboard!.instantiateViewController(withIdentifier: "ThirdVC")
let vc4 = self.storyboard!.instantiateViewController(withIdentifier: "FourthVC")
let vc5 = self.storyboard!.instantiateViewController(withIdentifier: "FifthVC")
let finalVC = self.storyboard!.instantiateViewController(withIdentifier: "Authors")
let userJourney = self.defaults.array(forKey: DefaultKeys.screenID.rawValue)
for vcName in userJourney! {
switch String(describing: vcName) {
case "FirstVC":
self.journeyVC.append(vc1)
case "SecondVC":
self.journeyVC.append(vc2)
case "ThirdVC":
self.journeyVC.append(vc3)
case "FourthVC":
self.journeyVC.append(vc4)
case "FifthVC":
self.journeyVC.append(vc5)
default:
self.journeyVC.append(finalVC)
}
}
self.journeyVC.append(finalVC)
navigation.setViewControllers(self.journeyVC, animated: true)
}
}
}
Проблема:
Когда у меня не было UINavigationController
внутри UIContainerView
, этот код работал нормально, но после добавления Container View
- он остановился.Увольняют func, но ничего не происходит.Что мне не хватает?Должен ли я изменить способ представления VC?
Буду признателен, если кто-нибудь поможет мне решить эту проблему.Большое спасибо и хороших выходных!