Из Process ViewController я перехожу к контроллеру панели вкладок первого индексного viewController и возвращаюсь снова к процессу viewController из контроллера панели вкладок.
Моя проблема возникает, когда я возвращаюсь к обработайте viewController и снова вернитесь к контроллеру панели вкладок, элементы контроллера панели вкладок не работают. Постучал по меню панели вкладок, но ничего не работает. Эта проблема возникает при возврате к контроллеру процесса и возвращению контроллера панели вкладок первого индекса.
Вот код для процесса viewController:
public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let d = getProcessDefData[indexPath.row]
if let keyVal = d.id {
print("val key", keyVal)
A8FlowBuilder(self).loadTaskView(id: keyVal)
// let vc = TabBarViewController()
// vc.processDefID = keyVal
// navigationController?.pushViewController(vc, animated: true)
// navigat
}
public func loadTaskView(id: String) {
let controller = TabBarViewController()
controller.processDefID = id
self.taskViewNew?.addChild(controller)
self.taskViewNew?.view.addSubview(controller.view)
controller.didMove(toParent: taskViewNew)
}
Вот код для панели вкладок контроллер первого индекса:
@objc func callMethod() {
print("back bar button item pressed")
// _ = navigationController?.popViewController(animated: true)
// navigationController?.popToViewController(ofClass: GetProcessDefinitionsController.self)
// let popupVC = GetProcessDefinitionsController()
// self.addChild(popupVC)
// popupVC.view.frame = self.view.frame
// self.view.addSubview(popupVC.view)
// popupVC.didMove(toParent: self)
// self.tabBarController?.view.removeFromSuperview()
DispatchQueue.main.async {
A8FlowBuilder(self).loadProcessdefView()
}
}
Вот мой код контроллера панели вкладок:
func createTabBarController() {
let firstVC = dashBoardViewController()
firstVC.tabBarItem = UITabBarItem.init(title: nil, image: UIImage(named: "dashboard_icon", in: Bundle(for: TabBarViewController.self), compatibleWith: nil), tag: 0)
firstVC.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 0, bottom: -5, right: 0);
let secondVC = MyTask()
secondVC.processDefID = processDefID
secondVC.tabBarItem = UITabBarItem.init(title: nil, image: UIImage(named: "mytask_icon", in: Bundle(for: TabBarViewController.self), compatibleWith: nil), tag: 1)
secondVC.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 0, bottom: -5, right: 0);
let thirdVC = settingsViewController()
thirdVC.tabBarItem = UITabBarItem.init(title: nil, image: UIImage(named: "settings_icon", in: Bundle(for: TabBarViewController.self), compatibleWith: nil), tag: 2)
thirdVC.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 0, bottom: -5, right: 0);
let fourthVC = ProfileViewController()
fourthVC.tabBarItem = UITabBarItem.init(title: nil, image: UIImage(named: "profile_icon", in: Bundle(for: TabBarViewController.self), compatibleWith: nil), tag: 3)
fourthVC.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 0, bottom: -5, right: 0);
let controllerArray = [secondVC, thirdVC]
tabBarCnt.viewControllers = controllerArray.map{ UINavigationController.init(rootViewController: $0)}
self.view.addSubview(tabBarCnt.view)
}
Вот первый индекс контроллера панели вкладок, который называется secondV C MyTask ()
Любая помощь высоко ценится пожалуйста.