在objective-c中设置自定义字体

Van*_*ore 3 fonts simulator objective-c custom-font

嗨,

我正在尝试为我的标签设置一个字体,但是当我运行应用程序时它不会出现在我的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];
Run Code Online (Sandbox Code Playgroud)

我还在plist中添加了自定义字体:

<key>UIAppFonts</key>
<array>
    <string>Kingthings_Trypewriter_2.ttf</string>
</array>
Run Code Online (Sandbox Code Playgroud)

我将自定义字体保存在我调用的命名资产文件夹中:

[_textLabel1 setFont:[UIFont fontWithName:@"assets/fonts/Kingthings_Trypewriter_2.ttf" size:36]];
Run Code Online (Sandbox Code Playgroud)

我没有在模拟器中显示字体.

谢谢您的帮助!

编辑:我使用的是AppCode,而不是Xcode.

EDIT2:

感谢Ganesh Somani,我使用他的代码试图找出我的字体是否通过Copy Bundle资源正确添加到项目中,但不幸的是它仍未显示在日志中.

for(NSString *fontfamilyname in [UIFont familyNames])
{
    NSLog(@"Family:'%@'",fontfamilyname);
    for(NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname])
{
    NSLog(@"\tfont:'%@'",fontName);
}
NSLog(@"---");
}
Run Code Online (Sandbox Code Playgroud)

解决方案:出于某种原因,我的项目中有两个.plist文件.我输入以下代码,现在它可以工作:

<key>UIAppFonts</key>
<array>
    <string>"fontName.ttf"</string>
</array>
Run Code Online (Sandbox Code Playgroud)

感谢所有捐助者的帮助!

Rob*_*raz 9

只需将字体文件导入项目:

导入文件

然后将它们添加到Info.plist文件中:

plist文件

然后你可以在你的代码中使用它们:

在此输入图像描述

确保在字体应用程序中使用正确的名称(单击两次并在计算机中安装字体后,您可以看到此信息)点击CMD + i,然后检查字体的"PostScript名称",这就是你的方法会打电话给它.

在此输入图像描述

在Xcode上打开您的项目,点击项目图标,选择目标,然后选择Build Phases,转到复制包资源部分并检查您的字体是否存在(请记住您需要将它们添加到项目文件夹中):

在此输入图像描述