首页 > 解决方案 > NavigationBar Right Items 在显示内部 ViewControllers 时隐藏

问题描述

我将导航栏与 tabbarcontroller 一起使用。当我按下其中一个标签时,我的导航栏右侧项目会自动隐藏。

我如何将我的物品移动到儿童控制器?

标签: swiftxcode

解决方案


您可以创建基本视图控制器并从基本视图控制器继承您的子类,然后调用super.viewDidLoad()

1- 基本控制器

class BaseViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let myButton = UIBarButtonItem(title: "LogOut", style: .done, target: self, action: #selector(self.logoutTapped(_:)))
        self.navigationItem.rightBarButtonItem = myButton
    }

    @objc func logoutTapped(_ sender: UIBarButtonItem) {

        print("Logout clicked :) ")
    }
}

2-VC一

class ViewController: BaseViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

}

3- VC 二

class ViewController2: BaseViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

}

结果

在此处输入图像描述


推荐阅读