在 iOS 中根据大小和其他属性全局更改 UIFont 类型



我有一个为 iOS6 开发的应用程序,我刚刚迁移到 iOS7

这个界面使用了一种新的字体:"HelveticaNeue-Light"

我想将我的系统字体全局替换为按钮、标签、文本视图、文本字段,并尊重所有其他属性(如果字体为粗体、斜体、字体大小......

我该怎么做

我正在申请:

[[UILabel appearance] setFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:15.0f]];

但它会更改我所有字体的大小,如果我将大小设置为默认值为零,我的字体就会消失

也试过这个:

[[UILabel appearance] setFont:[UIFont preferredFontForTextStyle:@"HelveticaNeue-Light"]];

但这会将我的字体更改为小尺寸,这也不是解决方案。

提前感谢您的支持

您可能需要子类UILabel并覆盖awakeFromNib如下所示:

@implementation MyUILabel
- (void)awakeFromNib
{
    [super awakeFromNib];
    self.font = [UIFont fontWithName:@"HelveticaNeue-Light" size:self.font.pointSize];
}
@end

最新更新