[每记]UITabbar切换页面时,导航栏的标题变化

今天忽闻噩耗,伟大的科学家霍金逝世

晚上学习感觉一种莫名的力量在指引自己。

竟然第一次通过自己看官方文档找到了解决方案。


目标:类似微信 下面的 联系人 发现 我的 这几个页面切换时,上面的标题栏文字也会随着改变。如图


[每记]UITabbar切换页面时,导航栏的标题变化_第1张图片

实现方法:

一,要知道下面的tabbar点击的动作,所以需要有回调

步骤:1.在UITabbarController实现协议:UITabBarControllerDelegate

2.重写方法 func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController)

3.在viewdidload函数里,给UITabbarController的delegate属性赋值    self.delegate = self

完成以上步骤,点击通讯录或者其他的tabbar,系统会调用刚刚重写的tabBarController。

二,设置导航栏标题

self.navigationItem.title = "xxxx"

三,知道当前点了哪个tabbar

selectedIndex 值是 0 1 2 3 分别代表4个页面

代码如下:

class MainViewController: UITabBarController,UITabBarControllerDelegate {

    let _navigationTitle:[String] = ["聊天","通讯录","发现","我的",""]

    override func viewDidLoad() {

        super.viewDidLoad()

        self.delegate = self

        self.navigationItem.title = _navigationTitle[0]

    }


    func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {

        self.navigationItem.title = _navigationTitle[selectedIndex]

    }


}

你可能感兴趣的:([每记]UITabbar切换页面时,导航栏的标题变化)