我目前正在开发一个iOS项目,该项目的标签/按钮/控件分布在数十个场景中。
这些控件大多数是使用Interface Builder创建的。
因此,现在我的工作就是确保每个控件(尤其是标签)的格式都使用正确的字体系列,目前情况并非如此,因为许多开发人员只是忘记更改字体(我们必须以编程方式设置字体,因为在IB中添加控件后,它不包含在IB中)。
有没有一种方法可以临时更改系统字体,以便更容易查看忘记了字体设置的位置?
我搜索了:
但是到目前为止,我还没有成功。我不能是唯一遇到这种问题的人-以编程方式设置每个控件字体自然很乏味。
我能想象的唯一一件事就是用自定义字体覆盖翼型UILabel的绘制方法(翼形是谁吗?),但这似乎有点过头了?
最佳答案
您可以尝试创建一个覆盖UIFont的systemFontOfSize:方法的类别,或者使用方法swizzling(您可以在此处找到有关方法swizzling的更多信息:http://cocoadev.com/MethodSwizzling)。 两者都非常丑陋,不应该在生产中使用,但出于测试目的应该很好。
这是UIFont的示例类别:
@interface UIFont (SysFont)
@end
@implementation UIFont (SysFont)
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize {
return [UIFont fontWithName:@"YourFont" size:fontSize];
}
@end
关于ios - 更改系统字体以进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20284507/