Interface Builder中的自定义字体

时间:2014-02-26 08:43:39

标签: ios fonts interface-builder

所以我们在2014年,有没有办法在Interface Builder中设置自定义字体?即不要以编程方式执行此操作,除了应用程序的plist中的“应用程序提供的字体”。

5 个答案:

答案 0 :(得分:70)

是的,Marrius是对的。在Xcode 6中,您既不需要使用额外的软件也不需要在代码文件中设置字体。只需在项目中添加字体文件以及其他文件即可。 “界面”构建器将在“自定义字体列表”中显示添加的字体。

最令人惊奇的是,xcode 6在IB中立即显示应用的字体。这是Apple的重要补充。

还要确保在项目的info.plist中添加此键“应用程序提供的字体”,并提供字体文件名以查看设备中的效果。

答案 1 :(得分:14)

在Xcode 6中,我们在界面构建器中提供了自定义字体。

无需额外的软件。谢谢Apple!

答案 2 :(得分:9)

在Xcode 6中,只需在项目中添加ttf文件,并通过自定义字体在故事板中使用它。 如果您直接想在代码中使用它而不在故事板中使用它,那么您必须添加键" UIAppFonts"在projectName-Info.plist。

示例:

<key>UIAppFonts</key> 
<array>
    <string>Signika-Bold.ttf</string>
    <string>Signika-Regular.ttf</string>
    <string>Signika-Light.ttf</string>
    <string>Signika-Semibold.ttf</string>
</array> 

在projectName-Info.plist中的行</dict>之前。

UIFont* font  = [UIFont fontWithName:@"Signika-Regular" size:25];

答案 3 :(得分:1)

看起来有人在研究它。您可以查看MoarFonts

  

MoarFonts

     

直接在Interface Builder中使用自定义字体,即WYSIWYG方式

     

作者:CédricLuthi“0xced

费用 10 $ ,但是:

  

从iOS 3.2开始,您可以通过添加iOS iOS应用程序来使用自定义字体   UIAppFonts Info.plist键。不幸的是,自定义字体不是   在Interface Builder中编辑xib文件时可用。 MoarFonts   使您的自定义字体在Interface Builder中可用。

     

MoarFonts兼容Xcode 4和Xcode 5。

答案 4 :(得分:1)

这是我的解决方案,没有其他方法可以帮助我

#import "UILabelEx.h"
#import "Constants.h"

@implementation UILabelEx

//- (void)layoutSubviews
//{
//    [super layoutSubviews];
//    // Implement font logic depending on screen size
//    self.font = [UIFont fontWithName:@"CustomFont" size:self.font.pointSize];
//}

- (void) traitCollectionDidChange: (UITraitCollection *) previousTraitCollection {
    [super traitCollectionDidChange: previousTraitCollection];

    self.font = [UIFont fontWithName:APP_FONT size:self.font.pointSize];
}
@end