在Xcode 4中,如果一个视图标签的字体没有安装在操作系统中,或者没有出现在IB的字体列表中,那么就不能通过Interface Builder来设置该字体系列。
由于某些视图中的所有标签都使用相同的字体,我需要知道是否有一种简单而快速的方法来将所有标签设置为相同的字体系列,而不是逐个设置其系列字体。
发布于 2012-01-26 22:46:57
您可以使用IBOutletCollection。在IB中创建一个集合并将所有标签连接到该集合。然后在代码中只使用setValue forKey。不知道它是否更有效,但您不必遍历子视图。
.h
IBOutletCollection(UILabel) NSArray *labels;
.m
UIFont *newFont = [UIFont fontWithName:@"HelveticaNeue-CondensedBold" size:14];
[labels setValue:newFont forKey:@"font"]; 发布于 2012-01-26 20:46:50
您可以循环遍历相关视图的subviews数组属性中的每个条目。对于每一个,检查它是否是UILabel (发送isKindOfClass:[UILabel class])。如果是,则可以将font属性设置为适当的字体对象。
https://stackoverflow.com/questions/9018253
复制相似问题