viewWillAppear在tabbar的viewcontrollers中

时间:2010-07-17 15:44:04

标签: cocoa-touch uiviewcontroller uitabbarcontroller viewwillappear

在我的标签栏中,我有四个视图控制器,一个中发生的事情会影响另一个视图,所以我可能需要在视图控制器可见时重新加载一些元素。通常我会通过实现viewWillAppear来解决这个问题,但是当我在选项卡之间切换时,似乎没有调用viewWillAppear。我该如何解决这个问题,或者我应该做些什么呢?

更新:作为PS,我应该补充一点,这是一个导航控制器层次结构中的tabbarcontroller

干杯

的Nik

4 个答案:

答案 0 :(得分:8)

您可以使用tabbar控制器委托作为魅力

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    [viewController viewWillAppear:YES];

}

答案 1 :(得分:1)

请在此处查看我的回答

iPhone viewWillAppear not firing

答案 2 :(得分:1)

如果您发现此问题,因为您希望更新UITabBarController本身的内容,而不是UIViewControllers的{​​{1}},就像OP的问题一样。例如,隐藏或显示自定义UITabBarController。在Swift 3.0中,覆盖UITabBarButton课程setNeedsStatusBarAppearanceUpdate为我工作。

UITabBarController

答案 3 :(得分:-1)

viewWillAppear只应在视图出现时使用,而不是用于更新。

改为在setNeedsDisplay的视图中使用viewController