我正在开发一款应用程序,顶部需要两个导航栏。我打算为这两个标题输入自定义字体,我是通过我的View Controller viewDidLoad
中的代码来完成的,
UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: UIFont(name: "SignPainter-HouseScript", size: 30)!, NSForegroundColorAttributeName:UIColor.whiteColor()]
这样做,导航栏的标题都改变了,这不是我打算做的。如果可能,如何在一个视图控制器中单独自定义每个导航栏?
答案 0 :(得分:0)
如果您使用外观代理,则会应用全局设置。
要为两个不同的对象获取不同的样式,您可以更改特定对象的相同属性。
self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "SignPainter-HouseScript", size: 30)!, NSForegroundColorAttributeName:UIColor.whiteColor()]
在你的第一个viewController的viewDidLoad:
中的代码之上。
它将更改第一个导航控制器的titleTextAttributes
。
同样获取其他navigationController的对象并更改相同的属性。
答案 1 :(得分:0)
您可以像这样设置自定义导航标题视图:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.titleView = "a custom UIView"
}
这样每个viewController都有自己的自定义标题视图。