更改系统字体以进行测试

时间:2013-11-29 11:17:53

标签: ios xcode ios-simulator

我目前正在开发一个iOS项目,其中包含大量标签/按钮/控件,分布在数十个场景中。 大多数控件都是使用Interface Builder创建的。

所以,现在我的工作是确保每个控件(特别是标签)都使用正确的字体系列进行格式化,但目前情况并非如此,因为许多开发人员只是忘记更改字体(我们的字体必须是在IB中添加控件后,以编程方式设置,因为它没有包含在IB中。

有没有办法暂时更改系统字体,以便更容易看到忘记字体设置的位置?

我搜索过:

  • 以编程方式更改系统字体
  • 在某处更改Xcode中的字体
  • 更改iOS模拟器中的字体(可能作为调试选项)

但到目前为止我没有成功。我不可能是唯一一个遇到这种问题的人 - 以编程方式设置每一个控件字体自然是单调乏味的。

我能想到的唯一一件事就是用自定义字体覆盖基础UILabel的绘图方法(任何人都可以使用?),但这看起来有点过分了?

1 个答案:

答案 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