触摸tabbar项后,Swift更改tabBar标题

时间:2018-03-02 13:27:39

标签: swift

我有一个tabBar和导航控制器的应用程序。

当我在标签栏中触摸它时,如何更改tabBar标题(在顶部应用程序的窗口中可见)?

例如我在tabbar中有这些项目:

  • 披萨
  • 啤酒
  • 苹果

点击披萨后,我想在顶部菜单的标题应用中添加披萨。

我该怎么做?

1 个答案:

答案 0 :(得分:4)

根据您的实施情况,以下方法之一应该适合您。

self.navigationItem.title = "title"

self.navigationBar.topItem?.title = "title"
  

如果您使用的是使用UIButtons和容器制作的自定义tabbar   查看,然后将其添加到按钮操作或如果您使用本机   UITabBarController,然后将它的委托设置为self并调用它   UITabBarController的didSelectViewController委托方法。

修改

看到你的代码后,你需要使用这个属性:

self.tabBarController?.navigationItem.title = "Profile"

并在每个视图控制器的viewWillAppear中调用它, ProfileViewController的示例

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

另外,请确保在storyboard中,将视图控制器的类设置为相应的代码类,如:

add class to view controller in storyboard

并从您使用的自定义导航栏中删除文字:

remove the text from navigation bar