我有一个标题导航栏。 当我双击文本重命名它时,它实际上说它是一个导航项,所以可能是这样。
我试图改变文本使用代码,如:
declare navigation bar as navagationbar here
button stuff {
navigationbar.text = "title"
}
这显然不是我的代码,只是展示它是如何工作的。
所以每当我按下按钮,我希望标题改变。
我有一个标题导航栏。 当我双击文本重命名它时,它实际上说它是一个导航项,所以可能是这样。
我试图改变文本使用代码,如:
declare navigation bar as navagationbar here
button stuff {
navigationbar.text = "title"
}
这显然不是我的代码,只是展示它是如何工作的。
所以每当我按下按钮,我希望标题改变。
当前回答
斯威夫特3
我为故事板中的导航栏(来自对象浏览器)所附带的导航标题栏项创建了一个出口。然后我起诉了下面这句话:
navigationBarTitleItem.title = "Hello Bar"
其他回答
你可以通过改变显示的视图控制器的标题来改变标题:
viewController.title = "some title"
通常这是在视图控制器的viewdidload中完成的:
override func viewDidLoad() {
super.viewDidLoad()
self.title = "some title"
}
然而,这只有当你的视图控制器嵌入在UINavigationController中才有效。我强烈建议这样做,而不是自己创建一个导航栏。如果你坚持自己创建导航栏,你可以通过以下方式更改标题:
navigationBar.topItem.title = "some 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"
}
这对我很管用。只需连接一个outlet到你的导航栏,并通过topItem访问标题
navBar.topItem?.title = "Your Title Here"
在viewDidLoad中尝试以下操作
self.navigationItem.title = "Your Title"
通常,最好的做法是在UIViewController上设置标题。通过这样做,UINavigationItem也被设置了。通常,这比以编程方式分配和初始化一个没有链接到任何东西的UINavigationBar要好。
你错过了UINavigationBar设计的一些好处和功能。这里有一个文档链接,可能会对您有所帮助。它讨论了你可以在实际栏和UINavigationItem上设置的不同属性。
只要记住:
你失去了返回按钮的功能(除非你自己连接) 内置的“从左侧拖动向后滑动”手势被取消
UINavigationController是你的朋友。