如何以编程方式在Swift中更改导航栏标题?

3
我没有使用导航控制器,而是使用了一个导航栏。但是我找不到任何编程方法来更改标题。请提供一个Swift解决方案。

1
你是使用Storyboard、XIB还是手动编写代码来构建UI的?你是否为导航栏设置了代码输出口?如果没有,为什么不设置呢? - Dai
4
可能是更改导航栏标题的编程方式的重复问题。 - Ahmad F
@Dai:我正在使用Storyboard,并且我有一个导航栏的代码输出口。我该怎么办? - Harry
4个回答

6
override func viewDidLoad() {
     super.viewDidLoad()
     self.title = "Your title over here"
}

1
这不是一个好的做法。如果您想同时使用底部导航栏和顶部导航栏,那么这个解决方案会影响它们两个。 - Emre Tufekci

6

将以下代码放在viewDidLoad方法中。

// To Set your navigationBar title.
yourNavBarName.topItem?.title = "Some Title"

// To Set your navigationBar backgound.
yourNavBarName.barTintColor = .red 

// To Set your navigationBar title font and color.
yourNavBarName.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.green, NSFontAttributeName:UIFont(name:"HelveticaNeue", size: 26)!]  

3

Swift 4

这将改变导航栏堆栈中顶部项目的内容

navigationController?.navigationBar.topItem?.title = "TEST"

这并没有回答问题。 - WikipediaBrown
@WikipediaBrown 实际上这是最好的答案。 - Emre Tufekci

0

要更改特定视图控制器中的标题,请使用以下代码:

navigationItem.setCustomTitle("Title", font: UIFont.systemFont(ofSize: 16, weight: UIFont.Weight.medium), textColor: .white)

这样,如果您从具有标题的另一个导航控制器推送,就不必将其改回来。


这并没有回答问题。 - WikipediaBrown

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接