是否有onViewDidReload()?

时间:2018-10-18 09:04:18

标签: ios swift uitabbarcontroller

我使用一个tabbarController,它具有两个选项卡视图,并在我的tabViews(在didViewLoad中)中设置如下的navbarTitle:

self.tabBarController?.title = "Title"

现在我的问题是,当单击第二个TabbarItem时,标题会像我希望的那样变化。但是,当回到第一个选项卡时,标题不会更改。我想我需要使用onResume()(受Android启发)之类的方法来设置标题。如何在ios编程中做到这一点?

2 个答案:

答案 0 :(得分:1)

使某些内容成为标签栏控制器的代表。 Distinct IDs with positive Qty = COUNTROWS ( SUMMARIZE ( FILTER ( ADDCOLUMNS ( TableA, "totQty", CALCULATE ( SUM ( TableA[Qty] ), ALLEXCEPT ( TableA, TableA[ID] ) ) - CALCULATE ( SUM ( TableB[Qty] ), FILTER ( TableB, TableB[ID] = TableA[ID] ) ) ), [totQty] > 0 ), [ID] ) ) 有一个方法UITabBarControllerDelegate,只要选择了选项卡,就会调用该方法。您可以在那里更改标题。

根据上面的评论,另一种(可能更好的)建议是让选项卡栏控制器作为根视图控制器,并使每个选项卡成为一个导航控制器,其中包含内容视图控制器。这样,您为每个选项卡显示了一个不同的导航控制器,这可能会使您的后续开发更加简单。

答案 1 :(得分:0)

您可以在viewWillAppear中进行操作:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.tabBarController?.title = "Title"
}