我有一个标题导航栏。 当我双击文本重命名它时,它实际上说它是一个导航项,所以可能是这样。

我试图改变文本使用代码,如:

declare navigation bar as navagationbar here
button stuff {
    navigationbar.text = "title"
}

这显然不是我的代码,只是展示它是如何工作的。

所以每当我按下按钮,我希望标题改变。


当前回答

我更喜欢使用self. navigationitem . Title = "Your Title Here"而不是self。title = "Your title Here"在导航栏中提供标题,因为标签栏也使用self。Title来修改它的标题。您应该尝试一次下面的代码。

注意:在你做任何事情之前,调用超级视图生命周期是必要的。

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        setupNavBar()
    }
}

private func setupNavBar() {
    self.navigationItem.title = "Your Title Here"
}

其他回答

在viewDidLoad

导航控制器.navigationBar.topItem ?。title = "你的文本"

在viewDidLoad中尝试以下操作

self.navigationItem.title = "Your Title"

我发现这个方法很有效:

navigationItem.title = "Title"

同时,如果你想手动创建导航栏,这段代码将帮助你

func setNavBarToTheView() {
    let navBar: UINavigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 64.0))
    self.view.addSubview(navBar);
    let navItem = UINavigationItem(title: "Camera");
    let doneItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.cancel, target: self, action: #selector(CameraViewController.onClickBack));
    navItem.leftBarButtonItem = doneItem;
    navBar.setItems([navItem], animated: true);
}

斯威夫特3

我为故事板中的导航栏(来自对象浏览器)所附带的导航标题栏项创建了一个出口。然后我起诉了下面这句话:

navigationBarTitleItem.title = "Hello Bar"