Ios7 ios 7 UIBarButtonItem UIAppearance未设置字体

Ios7 ios 7 UIBarButtonItem UIAppearance未设置字体,ios7,uibarbuttonitem,uiappearance,Ios7,Uibarbuttonitem,Uiappearance,我正在使用这段代码为我的所有UIBarButtonims设置默认字体(自定义): NSDictionary *attributesBarButtonItem = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"ProximaNova-Light" size:18.0], NSFontAttributeName, nil]; [[UIBarButtonItem appearance] setTitleTextAtt

我正在使用这段代码为我的所有UIBarButtonims设置默认字体(自定义):

NSDictionary *attributesBarButtonItem = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"ProximaNova-Light" size:18.0], NSFontAttributeName, nil];
[[UIBarButtonItem appearance] setTitleTextAttributes:attributesBarButtonItem forState:UIControlStateNormal];

NSLog(@"%@", [[UIBarButtonItem appearance] titleTextAttributesForState:UIControlStateNormal]);
但是,它似乎被忽略了,因为字体没有改变,并且NSLog返回(null)。这有点让人困惑,因为它与我为所有导航栏设置默认字体时使用的代码几乎相同,对它们来说效果很好

这段代码放在AppDelegate的didFinishLaunchingWithOptions中,但我也在其他ViewController(viewDidLoad)中测试了它,得到了完全相同的结果

我注意到的其他奇怪行为: 我有一个选项卡栏控制器,当我加载任何带有工具栏按钮项的viewController时,它不工作,但如果我按下另一个viewController,它会工作(字体更改为选定的),即使该viewController弹出,它也会继续工作,尽管如果按下另一个选项卡,它会停止工作


如果您能为UIBarButtonims设置默认字体,我们将不胜感激。谢谢

这是您的自定义字体吗

可能会有一些问题:

  • 字体是否为TTF格式
  • 如果单击xcode中的字体,是否选中了右面板中的目标成员资格
  • 您是否将字体添加到项目plist文件中?
此外,还应在字典中使用uitextattributefort

[UIBarButtonItem appearance] setTitleTextAttributes:@{UITextAttributeFont:[UIFont fontWithName:@"ProximaNova-Light" size:18.0]} [forState:forState:UIControlStateNormal];

我遇到了一个类似的问题,因为我在设置外观属性之前创建了
leftBarButtonItem
。交换顺序,以便首先设置外观,解决了此问题。

此字体来自何处?我不确定我是否听说过它是一种自定义字体(如果你的意思是说你没有在SDK提供的字体中看到它),但我不认为这是问题所在,因为我在一些UILabel和导航栏上使用过它,而且iOS 10没有任何问题。。。那只是雷达下飞行的一只虫子吗?你找到解决方案了吗?@Biniou是的,他们在几次更新后就修复了,我再也没有遇到过这个问题。正如我所说,自定义字体没有问题,它已经在导航栏和其他标签中工作了(例如,使用Helvetica Neue就不起作用)。此外,ios 7中不推荐使用UITextAttributeFont(我也尝试过用UITextAttributeFont为ios 6编译项目,但它也不起作用)。我不得不将其放在我的应用程序委托中的
willFinishLaunchingWithOptions
中,而不是
didFinishLaunchingWithOptions