我正在使用 UIAppearance 将字体应用于 UINavigationBar 和 UIBarButtonItem,但我遇到了问题。我运行了这段代码:
[[UIBarButtonItem appearanceWhenContainedIn:[UIToolbar class], nil]
setTitleTextAttributes:
@{NSFontAttributeName : [UIFont fontWithName:@"My_Font" size:17.0]}
forState:UIControlStateNormal];
NSLog(@"%@", [[UIBarButtonItem appearanceWhenContainedIn:
[UIToolbar class], nil] titleTextAttributesForState:UIControlStateNormal]);
在 iOS 7 上登录的结果是:
(null)
iOS 6 中的结果是:
{
NSFont = "<UICFFont: 0x1d897a80> font-family: \"My_Font\"; font-weight: normal; font-style: normal; font-size: 17px";
}
我在 iOS 7 文档中找不到任何表明这不应该工作的东西,还有其他人有这个问题吗?
编辑 1
我实际上已经解决了[UINavigationBar appearance]
这个问题,我将点大小设置为 0,以便将字体设置为默认的 navbar/barButtonItem 大小,如NSString UIKit Additions Reference中所述,但这显然不再适用iOS 7. 相反,将磅值设置为 0 将返回系统字体。
我仍然无法设置titleTextAttributes
为
[UIBarButtonItem appearanceWhenContaintedIn:[UIToolbar class], nil]]