将自定义字体设置为视图中的所有标签

时间:2012-01-26 12:41:56

标签: ios cocoa-touch uilabel

在Xcode 4中,如果字体未安装在操作系统中或未显示在IB中的字体列表中,则无法通过Interface Builder设置视图标签的字体系列。

由于某些视图中的所有标签都使用相同的字体,因此我需要知道是否有一种简单快捷的方法将所有标签设置为相同的字体系列,而不是逐个设置其系列字体。

2 个答案:

答案 0 :(得分:8)

您可以使用IBOutletCollection。在IB中创建一个集合并将所有标签连接到它。然后在代码中使用setValue forKey。不知道它是否更高效,但你不必循环浏览子视图。

.h
IBOutletCollection(UILabel) NSArray *labels;

.m
UIFont *newFont = [UIFont fontWithName:@"HelveticaNeue-CondensedBold" size:14];
[labels setValue:newFont forKey:@"font"]; 

答案 1 :(得分:1)

您可以遍历相关视图的子视图数组属性中的每个条目。对于每一个,请检查它是否为UILabel(发送isKindOfClass:[UILabel class])。如果是,则可以将font属性设置为合适的字体对象。