【发布时间】:2018-06-04 08:22:39
【问题描述】:
我有结构:
*- TabBarViewController (根)
*-- 导航视图控制器
*---- ChatViewController
*-- 导航视图控制器
*---- 菜单视图控制器
当我切换标签栏项目时,(Chat, Menu) 中的 viewWillAppear 只调用一次,但在 NavigationVC 中每次切换时都会调用。
是否可以在Chat和Menu ViewControllers中切换item时自动调用viewWillAppeare?
super.viewWillAppear 在方法内部。
我的代码如下:
class TabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
let v1 = storyboard!.instantiateViewController(withIdentifier: "ChatViewController")
let v2 = storyboard!.instantiateViewController(withIdentifier: "MenuViewController")
viewControllers = [v1,v2]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
class ChatViewController: UIViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
print(self,#function)
}
}
class MenuViewController: UIViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
print(self,#function)
}
}
它适用于明确的新项目,但适用于旧项目(我正在工作,我有很多功能,不起作用)
StoryboardId 与Storyboard 中的 NavigationViewController 相关联
【问题讨论】:
-
是的,有可能
-
发布与tabbarController相关的代码
标签: ios swift uinavigationcontroller uitabbarcontroller uitabbar