有 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)
,只要选择了一个选项卡就会调用它。您可以在那里更改标题。
根据您上面的评论,另一种(可能更好)的建议是将选项卡栏控制器作为根视图控制器,并将每个选项卡作为一个导航控制器来保存您的内容视图控制器。这样您就可以为每个选项卡显示不同的导航控制器,这可能会使您的后续开发更加简单。
我使用了一个 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)
,只要选择了一个选项卡就会调用它。您可以在那里更改标题。
根据您上面的评论,另一种(可能更好)的建议是将选项卡栏控制器作为根视图控制器,并将每个选项卡作为一个导航控制器来保存您的内容视图控制器。这样您就可以为每个选项卡显示不同的导航控制器,这可能会使您的后续开发更加简单。