代码之家  ›  专栏  ›  技术社区  ›  niklassaers

视图将显示在选项卡的“视图控制器”中

  •  8
  • niklassaers  · 技术社区  · 14 年前

    在我的选项卡栏中,我有四个视图控制器,其中一个中发生的事情会影响另一个的视图,因此当视图控制器中的某些元素变得可见时,我可能需要重新加载它。通常我会通过实现viewwillappear来解决这个问题,但是当我在选项卡之间切换时,viewwillappear似乎不会被调用。我该怎么解决,或者我该怎么做?

    更新:作为一个PS,我应该添加这是导航控制器层次结构中的TabbarController

    干杯

    尼克

    4 回复  |  直到 7 年前
        1
  •  -1
  •   Neil Masson    8 年前

    viewWillAppear 只能在视图出现时使用,不能用于更新它。

    使用 setNeedsDisplay viewController 的视图。

        2
  •  7
  •   Radix    12 年前

    您可以使用Tabbar Controller代理,它的工作方式很迷人。

    -(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
    {
        [viewController viewWillAppear:YES];
    
    }
    
        3
  •  1
  •   Community Egal    7 年前
        4
  •  1
  •   Brian Ogden    7 年前

    如果你发现这个问题是因为你想更新 UITabBarController 本身,而不是 UIViewControllers A的 Uitababarcontroller(Uitababarcontroller) 就像手术室的问题。例如,隐藏或显示自定义 UITabBarButton . 在Swift 3.0中覆盖 setNeedsStatusBarAppearanceUpdate 我的 Uitababarcontroller(Uitababarcontroller) 班为我工作。

    override func setNeedsStatusBarAppearanceUpdate() {
    
    }