У меня есть контроллер панели вкладок, созданный программно. И это выглядит примерно так:
class NewTabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
createTabbar()
}
func createTabbar() {
let deliveryViewController = storyBoard.instantiateViewController(identifier: "DeliveryViewController") as? DeliveryViewController
deliveryViewController?.tabBarItem.image = #imageLiteral(resourceName: "icon_deliver")
deliveryViewController?.title = "Delivery"
planDictionary["planType"] = Constants.Mealplan.deliveryPlan
deliveryViewController?.planDictionary = planDictionary
// Excluded other tabs and view controller creations since they are the same
}
Теперь этот DeliveryViewController создан в раскадровке и встроен в контроллер навигации
У него есть кнопка Действие щелчка:
@IBAction func saveNameButton(_ sender: UIButton) {
let addressViewController = storyBoard.instantiateViewController(identifier: "AddressViewController") as? AddressViewController
addressViewController?.planDictionary = planDictionary
navigationController?.pushViewController(addressViewController!, animated: true)
}
Действие нажатия кнопки работало, когда панель вкладок находилась в раскадровке. Но после программного рефакторинга следующий V C не помещается в стек навигации.
Помощь будет принята с благодарностью.