【发布时间】:2013-11-08 13:55:42
【问题描述】:
我正在使用这段代码为我的所有 UIBarButtonItems 设置默认字体(自定义):
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 中,但我也在其他 viewControllers (viewDidLoad) 中对其进行了测试,结果完全相同。
我注意到的其他奇怪行为: 我有一个标签栏控制器,当我加载任何带有栏按钮项目的 viewController 时它不起作用,但是如果我推动另一个 viewController 它可以工作(字体更改为选定的那个),即使它继续工作该 viewController 会弹出,但如果按下另一个选项卡,它将停止工作。
任何尝试为 UIBarButtonItems 设置默认字体的帮助将不胜感激。谢谢!
【问题讨论】:
-
这个字体是从哪里来的?我不确定我是否听说过它
-
这是一种自定义字体(如果您的意思是您没有在 SDK 提供的字体中看到它),但我认为这不是问题,因为我在某些 UILabel 上使用过它和导航栏都没有问题
-
iOS 10 仍然存在这个问题......这只是一个在雷达下飞行的错误吗?你找到解决办法了吗?
-
@Biniou 是的,他们在几次更新后修复了,我再也没有遇到过这个问题
标签: ios7 uibarbuttonitem uiappearance