【发布时间】:2015-12-11 09:24:15
【问题描述】:
嗨,
我正在尝试为我的标签设置一种字体,但是当我运行应用程序时它并没有出现在我的 iOS 模拟器中。
_textLabel1 = [[UILabel alloc] initWithFrame:CGRectMake((CGFloat) (self.view.center.x - (self.view.bounds.size.width / textWidth / 2)),
(CGFloat) (self.view.center.y * textPositionY), (CGFloat) (self.view.bounds.size.width / textWidth), (CGFloat) textHeight)];
_textLabel1.numberOfLines = 0;
_textLabel1.textAlignment = NSTextAlignmentCenter;
_textLabel1.textColor = clr;
_textLabel1.text = @"Favoriten";
[_textLabel1 setFont:[UIFont fontWithName:@"assets/fonts/Kingthings_Trypewriter_2.ttf" size:36]];
[_favouriteViewer addSubview:_textLabel1];
_textLabel1.font=[_textLabel1.font fontWithSize:25];
我还在我的 plist 中添加了自定义字体:
<key>UIAppFonts</key>
<array>
<string>Kingthings_Trypewriter_2.ttf</string>
</array>
我将自定义字体保存在我调用的命名资产文件夹中:
[_textLabel1 setFont:[UIFont fontWithName:@"assets/fonts/Kingthings_Trypewriter_2.ttf" size:36]];
我没有在模拟器中显示字体。
感谢您的帮助!
编辑: 我使用的是 AppCode,而不是 Xcode。
编辑2:
感谢 Ganesh Somani,我使用他的代码尝试确定我的字体是否通过 Copy Bundle 资源正确添加到项目中,但遗憾的是它仍未显示在日志中。
for(NSString *fontfamilyname in [UIFont familyNames])
{
NSLog(@"Family:'%@'",fontfamilyname);
for(NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname])
{
NSLog(@"\tfont:'%@'",fontName);
}
NSLog(@"---");
}
解决方案: 出于某种原因,我的项目中有两个 .plist 文件。我输入了以下代码,现在它可以工作了:
<key>UIAppFonts</key>
<array>
<string>"fontName.ttf"</string>
</array>
感谢所有贡献者的帮助!
【问题讨论】:
-
你试过只用
[UIFont fontWithName:@"Kingthings_Trypewriter_2" size:36] -
第一件事。你的字体名称是什么?这很少等于精确的文件名,因为它绝对不是带有路径的文件名......所以您可能需要先找到 font name。跨度>
-
@Vancore 我在previous post 中回答了同样的问题。请检查它,它一定会帮助你。
-
@Vin 我做了,但这似乎不起作用。
-
@holex 如何找到字体名称?我试过了,但是“Kingsthings”不会出现: for (NSString *fontfamilyname in [UIFont familyNames]) { NSLog(@"Family:'%@'", fontfamilyname); for (NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname]) { NSLog(@"\tfont:'%@'", fontName); } NSLog(@"~~~~~~~~"); }
标签: objective-c fonts simulator custom-font