我目前正在开发一个iOS项目,其中包含大量标签/按钮/控件,分布在数十个场景中。 大多数控件都是使用Interface Builder创建的。
所以,现在我的工作是确保每个控件(特别是标签)都使用正确的字体系列进行格式化,但目前情况并非如此,因为许多开发人员只是忘记更改字体(我们的字体必须是在IB中添加控件后,以编程方式设置,因为它没有包含在IB中。
有没有办法暂时更改系统字体,以便更容易看到忘记字体设置的位置?
我搜索过:
但到目前为止我没有成功。我不可能是唯一一个遇到这种问题的人 - 以编程方式设置每一个控件字体自然是单调乏味的。
我能想到的唯一一件事就是用自定义字体覆盖基础UILabel的绘图方法(任何人都可以使用?),但这看起来有点过分了?
答案 0 :(得分:0)
您可以尝试创建一个类别,该类别会覆盖UIFont的systemFontOfSize:方法或使用方法调配(您可以在此处找到有关方法调配的更多信息:http://cocoadev.com/MethodSwizzling)。 两者都非常难看,不应该用于生产,但应该可以用于测试目的。
以下是UIFont的示例类别:
@interface UIFont (SysFont)
@end
@implementation UIFont (SysFont)
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize {
return [UIFont fontWithName:@"YourFont" size:fontSize];
}
@end