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