如何更改导航栏后退按钮的字体和颜色
How can I change the font and color of the Navigation Bar back button
我正在尝试更改导航栏按钮的字体和颜色。
理想情况下,我想将其更改为黑色并使用我已经设置的自定义字体。有没有办法修改现有的按钮?
我在我的视图的字体初始化中尝试了这个
UINavigationBar.appearance().titleTextAttributes = [.font : UIFont(name: "Georgia-Bold", size: 20)!]
但我认为这只会更改内联导航栏的标题
这是一个 UIBarButtonItem
,所以设置这个 属性。
init() {
UIBarButtonItem.appearance().tintColor = .red
UIBarButtonItem.appearance().setTitleTextAttributes([NSAttributedString.Key.font: UIFont.systemFont(ofSize: 10)], for: .normal)
}
或者你也可以使用这个,
init() {
let standard = UINavigationBarAppearance()
let button = UIBarButtonItemAppearance(style: .plain)
button.normal.titleTextAttributes = [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 10), NSAttributedString.Key.foregroundColor: UIColor.red]
standard.buttonAppearance = button
}
您可以按照上面的方法或者:
转到您的资产 -> 为 Accent 设置颜色,尽管这会影响您应用中的其他组件,即 DisclosureGroup 按钮等。
我正在尝试更改导航栏按钮的字体和颜色。
理想情况下,我想将其更改为黑色并使用我已经设置的自定义字体。有没有办法修改现有的按钮?
我在我的视图的字体初始化中尝试了这个
UINavigationBar.appearance().titleTextAttributes = [.font : UIFont(name: "Georgia-Bold", size: 20)!]
但我认为这只会更改内联导航栏的标题
这是一个 UIBarButtonItem
,所以设置这个 属性。
init() {
UIBarButtonItem.appearance().tintColor = .red
UIBarButtonItem.appearance().setTitleTextAttributes([NSAttributedString.Key.font: UIFont.systemFont(ofSize: 10)], for: .normal)
}
或者你也可以使用这个,
init() {
let standard = UINavigationBarAppearance()
let button = UIBarButtonItemAppearance(style: .plain)
button.normal.titleTextAttributes = [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 10), NSAttributedString.Key.foregroundColor: UIColor.red]
standard.buttonAppearance = button
}
您可以按照上面的方法或者:
转到您的资产 -> 为 Accent 设置颜色,尽管这会影响您应用中的其他组件,即 DisclosureGroup 按钮等。