我跟着这个tutorial并且我的故事板上显示了自定义字体但是当我执行我的应用程序时(在模拟器或设备上),字体没有被反映出来。有谁可以帮忙。 这就是我所做的:
1- downloaded a .ttf file and copied it to my project
2- added "Fonts Provided By Application" in info.plist and added a row having the name of my custom font.
3- opened storyboard and selected the UILabel i want to have a custom font for, and selected the font as custom then selected my font. the font was shown on the storyboard correctly.
我错过了什么吗?
答案 0 :(得分:5)
谢谢@Andrey Chernuka和@jcaron。我通过将目标成员资格设置为我的项目然后退出项目(由于某种原因清理无效)并重新打开项目并设置了所有内容来解决问题。我打印print (UIFont.familyNames())
答案 1 :(得分:1)
您是否仅将.ttf文件夹添加到支持文件中。 然后像这样编辑info.Plist
Application提供的字体作为数组
项目0为Heiti SC.ttf
现在您可以设置label.font = [UIFont fontWithName:@"Heiti SC" size:15];
然后,您还需要添加ttf文件以在目标构建阶段复制捆绑资源。
答案 2 :(得分:1)
您只需遵循以下步骤即可。
第1步 - 下载.ttf文件并将其复制到我的项目中 第2步 - 添加"应用程序提供的字体"在info.plist中添加了一行,其名称为我的自定义字体。
步骤3 - 显示添加的字体是否存在于项目中。将过去复制到application:didFinishLaunchingWithOptions
NSLog(@"Available fonts: %@", [UIFont familyNames]);
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
fontNames = [[NSArray alloc] initWithArray:
[UIFont fontNamesForFamilyName:
[familyNames objectAtIndex:indFamily]]];
for (indFont=0; indFont<[fontNames count]; ++indFont)
{
NSLog(@" Font name: %@", [fontNames objectAtIndex:indFont]);
}
}
第4步 - 找到你的字体和同名的名字,检查故事板。
它绝对有效。