-2

我想用来将我的应用程序UIAppearance中所有字体的大小设置UIButtons为 15,并将我的应用程序中所有字体的大小设置UILabels为 10。这就是我所拥有的:

UIFont *dinMediumFont = [UIFont fontWithName:@"DINPro-Medium" size:15];
[[UILabel appearanceWhenContainedIn:[UIButton class], nil] setFont:dinMediumFont];

UIFont *dinBoldFontBig = [UIFont fontWithName:@"DINPro-Bold" size:10];
[[UILabel appearanceWhenContainedIn:nil] setFont:dinBoldFontBig];

但是,我希望按钮的字体UINavigationBars更小,我尝试添加:

UIFont *smallerFont =[UIFont fontWithName:@"DINPro-Medium" size:15];
[[UILabel appearanceWhenContainedIn:[UIButton class], [UINavigationBar class], nil] setFont:smallerFont];

但字体保持为默认值......为什么会这样?

4

1 回答 1

0

导航栏中的按钮不是它的任何子类的实例UIButton;相反,它们是UIBarButtonItem.

UIBarButtonItem的文本实际上不是一个UILabel实例:您的第二个代码段将需要在的外观代理上设置属性,而不是在代理UILabel的外观上设置属性。UIButtonfontUIBarButtonItem

于 2013-02-20T20:34:57.217 回答