UITabBarController中的控制器

时间:2016-10-18 14:40:59

标签: swift uitabbar

我有几个控制器链接到TabBar控制器。 每次从一个标签切换到另一个标签时,都会显示前一个控制器。我认为当我选择一个标签时,会构建一个新的控制器并显示其新视图。是否有可能有这种行为,而不是像隐藏它时那样显示视图?

1 个答案:

答案 0 :(得分:1)

要稍微详细地回答您的问题,您可以使用viewDidAppear方法。这样你就可以更新你的UI,而不是重新加载viewController,从而导致可能的内存问题。

override func viewDidLoad() {
    // all UI items will be changed here upon the first instantiation of the viewController.
    super.viewDidLoad()
    print("loaded FirstViewController viewDidLoad()")
}

override func viewDidAppear(_ animated: Bool) {
    // reload your UI elements here if you want and update between switching viewControllers.
    print("loaded FirstViewController viewDidAppear()")
}

在过去,有viewDidUnload的方法,但根据Apple文档:

  

在低内存条件下不再清除视图,所以这样   方法永远不会被调用。

您可以使用didReceiveMemoryWarning但是当涉及到查看控制器时,我会让UIKit和ARC完成它的工作并在需要时释放VC。