如何更改导航项的字体?
Posted
技术标签:
【中文标题】如何更改导航项的字体?【英文标题】:How to change font of navigation items? 【发布时间】:2015-10-13 11:24:26 【问题描述】:我的 NavigationBar 上有几个导航项(返回按钮、保存按钮)。 我尝试寻找相关的答案,但我找到了一个过时的答案或根本没有。
我在 navigationItem.leftBarButtonItem 上尝试了 setTitleTextAttributes 但没有奏效。
我设法更改了 NavigationBar 标题的字体,仅此而已。使用 self.navigationBar.titleTextAttribues,与导航项完成相同的方法但不起作用。
编辑:找到了解决方案,但我必须在每个视图控制器的 viewWillAppear 上添加它
let barBtn = UIBarButtonItem(title: "Test", style: UIBarButtonItemStyle.Bordered, target: self, action: "backButtonPressed")
barBtn.setTitleTextAttributes([NSFontAttributeName: UIFont(name: FONT_HERE, size: 12)!], forState: UIControlState.Normal)
self.navigationItem.setHidesBackButton(true, animated: false)
self.navigationItem.setLeftBarButtonItem(barBtn, animated: false)
然后在我调用 popViewControllerAnimated 的地方添加 backButtonPressed 函数。
各位,你们怎么看?有没有更简单的解决方案?
【问题讨论】:
How can I change the font of the back button for my navigation bar?的可能重复 关注了,没用。 你可以给self.navigationItem.titleView分配一个自定义标签 所有问题都集中在一处:***.com/a/28347428/469614 【参考方案1】:我建议你使用外观协议:https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIAppearance_Protocol/index.html
这是我如何自定义导航栏外观的示例。
// 导航栏标题 [[UINavigationBar 外观] setTitleTextAttributes:@ NSFontAttributeName:[UIFont fontWithName:@"myfont" size:20.0f], NSForegroundColorAttributeName: [UIColor whiteColor] ];
// Navigation bar buttons and background
[UINavigationBar appearance].tintColor = [UIColor whiteColor];
[UINavigationBar appearance].barTintColor = [UIColor teal];
[UINavigationBar appearance].translucent = NO;
【讨论】:
UINavigationBar 没有成员 'setTitleTextAttributes'以上是关于如何更改导航项的字体?的主要内容,如果未能解决你的问题,请参考以下文章