在Xcode 4中,如果字体未安装在操作系统中或未显示在列表中,则无法通过Interface Builder设置视图标签的字体系列IB中的字体。为视图中的所有标签设置自定义字体
由于某些视图所有标签使用相同的字体,我需要知道,如果有他们都设置为相同的字体系列的一种简单,快捷的方式,而不是将一个一个地设置其家人字体。
在Xcode 4中,如果字体未安装在操作系统中或未显示在列表中,则无法通过Interface Builder设置视图标签的字体系列IB中的字体。为视图中的所有标签设置自定义字体
由于某些视图所有标签使用相同的字体,我需要知道,如果有他们都设置为相同的字体系列的一种简单,快捷的方式,而不是将一个一个地设置其家人字体。
您可以使用IBOutletCollection。创建一个集合并将所有标签连接到IB。然后在代码中使用setValue forKey。不知道它是否更有效,但你不必循环子视图。
.h
IBOutletCollection(UILabel) NSArray *labels;
.m
UIFont *newFont = [UIFont fontWithName:@"HelveticaNeue-CondensedBold" size:14];
[labels setValue:newFont forKey:@"font"];
您可以遍历所讨论视图的子视图数组属性中的每个条目。对于每一个,检查它是否是UILabel
(发送isKindOfClass:[UILabel class]
)。如果是,您可以将font
属性设置为合适的字体对象。
太好了,但那就是我不想做的事。如果没有其他办法可以做到这一点,我会把它... – subharb
你可以尝试iOS 5只'外观'代理,但我找不到任何记录的证据'UILabel'的字体属性是外观可代理的。我稍后会做一个实验。 –
快速浏览 - 没有'UILabel'属性被标记为外观代理系统支持。所以,循环一切似乎是你最好的选择。 –