标签栏控制器未调用viewdidappear

时间:2018-08-02 07:38:57

标签: ios swift xcode

我有一个public function contactusAction() { $categories = $this->forward('ProductBundle:Product:categorie'); return $this->render('ProductBundle:Default:contactus.html.twig', array('categories'=>$categories)); } 和一个TabBarController ...主NavigationController有一些按钮,我想在这些按钮上添加边框...正在TabController中这样做,但是它不叫!当我转到子控制器并单击“返回”按钮时,它现在被称为..但是当第一次单击该选项卡时未被调用!

这是在主选项卡vc中执行的操作:

ViewDidAppear

但这不会被调用,直到我从孩子那里单击回来……但是当第一次单击选项卡时,它将不会被调用!

为什么?以及如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我也多次遇到这个问题,请确保您没有在子类中调用任何错误的超类方法,例如,在您的viewWillAppear中,您没有调用viewDidAppear方法。或相反亦然。 这是编译器未定义的行为。它主要发生在父子view_controller的层次结构中。

对于您的解决方案,您可以从viewWillAppear中执行代码,而延迟很小。

答案 1 :(得分:0)

我找到了解决方法..

我刚刚添加了以下内容:

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
 }

在导航控制器中,此问题已解决! :)