iOS中的自定义字体

时间:2011-03-22 16:46:27

标签: iphone objective-c fonts

确定,

使用自3.2以来的自定义字体非常简单:

在资源包中加载字体,在plist中指定它的名称,然后你可以使用[textField setFont ...]在文本字段中使用。

问题是,我想替换我的应用程序的每个部分中的字体,比如导航栏,因此它变得复杂,因为我似乎必须用自定义的组件替换每个组件才能设置字体。 / p>

有没有什么办法让血腥的东西知道我想用一个自定义的字体替换默认字体?不是每个酒吧项目,所以......

谢谢!

1 个答案:

答案 0 :(得分:2)

也许UIFont上的某个类别重新定义了

+ (UIFont *)systemFontOfSize:(CGFloat)size {
    return [self fontWithName:@"YourFontName" size:size];
}

+ (UIFont *)boldSystemFontOfSize:(CGFloat)size {
    return [self fontWithName:@"YourBoldFontName" size:size];
}

返回自定义字体。

正如Jonathan在评论中指出的那样,它也可能会改变状态栏字体(我目前无法验证)。我不知道Apple是否会接受这种行为(重新定义方法没问题,但修改默认UI不是恕我直言)。

子类化UIFont是不够的,因为默认情况下标签和其他人仍会使用UIFont类。