我正在使用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]);
Run Code Online (Sandbox Code Playgroud)
并且iOS 7上的日志结果是:
(null)
Run Code Online (Sandbox Code Playgroud)
iOS 6中的结果是:
{
NSFont = "<UICFFont: 0x1d897a80> font-family: \"My_Font\"; font-weight: normal; font-style: normal; font-size: 17px";
}
Run Code Online (Sandbox Code Playgroud)
我在iOS 7文档中找不到任何表明这不起作用的内容,有其他人有这个问题吗?
编辑1
我实际上已经解决了[UINavigationBar appearance]这个问题,我将点大小设置为0,以便将字体设置为默认的navbar/barButtonItem大小,如NSString UIKit Additions Reference中所述,但这显然不再适用于iOS 7.相反,将磅值设置为0将返回系统字体.
我仍然无法设置titleTextAttributes到
[UIBarButtonItem appearanceWhenContaintedIn:[UIToolbar class], nil]]