有 onViewDidReload() 吗?

Is there a onViewDidReload()?

我使用了一个 tabbarController,有两个 tab-views 并在我的 tabViews 中设置了这样的 navbarTitle(在 didViewLoad 中):

self.tabBarController?.title = "Title"

现在我的问题是,当单击第二个 TabbarItem 时,标题会按照我想要的方式更改。但是当回到第一个选项卡时,标题不会变回来。我想我需要用 onResume()(android 启发)这样的方法来设置标题。我如何在 ios 编程中做到这一点?

您可以在 viewWillAppear:

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

将某些东西设为标签栏控制器的代理。 UITabBarControllerDelegate 有一个方法,tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController),只要选择了一个选项卡就会调用它。您可以在那里更改标题。

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