Ios 无法在XCode中为UILabel设置自定义字体

Ios 无法在XCode中为UILabel设置自定义字体,ios,objective-c,cocoa-touch,uifont,info.plist,Ios,Objective C,Cocoa Touch,Uifont,Info.plist,我无法在XCode中为UILabel设置自定义字体 这就是我尝试过的: 下载JennaSue字体- 打开支持文件文件夹下的app-info.plist 使用应用程序提供的关键字体在列表中添加新行 在此数组中添加JennaSue.ttf 在代码中使用它,如下所示: self.someLabel.font=[UIFont fontWithName:@JennaSue size:14] 并且什么也没有发生-默认字体是可见的 为什么??我做错了什么?我怎样才能修好它 self.someLabel.fon

我无法在XCode中为UILabel设置自定义字体

这就是我尝试过的:

下载JennaSue字体-

打开支持文件文件夹下的app-info.plist

使用应用程序提供的关键字体在列表中添加新行

在此数组中添加JennaSue.ttf

在代码中使用它,如下所示:

self.someLabel.font=[UIFont fontWithName:@JennaSue size:14]

并且什么也没有发生-默认字体是可见的

为什么??我做错了什么?我怎样才能修好它

self.someLabel.font = [UIFont fontWithName:@"JennaSue.ttf" size:self.someLabel.font.pointSize];
转到项目的info.plist文件, 单击鼠标右键并选择“添加行”, 在新行中键入应用程序提供的字体, 键入所需的字体名称作为此键的项目。 将字体文件拖放到项目中, 将其应用于所需的文本: someLabel.font=[UIFont fontWithName:@JennaSue size:12.0]

我想你错过了上面的第五步

更新:执行步骤5时,请记住选中将实际文件复制到项目目录的标记:

记住按command+alt+shift+K IRRC来清理项目! 然后去你的办公室

然后转到项目的构建阶段,确保可以在资源文件中看到.ttf文件:


另外,我现在不在我的Mac电脑上,所以我使用了来自的屏幕截图。这就是为什么我为您的问题将不必要的行灰显

我使用了下面的代码,完成了

 UILabel * lblTest = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 200, 100)];

    lblTest.font = [UIFont fontWithName:@"JennaSue" size:25.0];
    lblTest.text = @"Hello World";

    [self.view addSubview:lblTest];
如果仍然无法工作,请查看您的系统字体手册,搜索该字体以及您必须使用的字体,以使其正常工作

也可以试试这个lblTest.font=[UIFont fontWithName:@Jenna Sue size:25.0]

检查此代码:

 NSArray *names = [UIFont familyNames];
 NSLog(@"Font FamilyNames : ");
 for (NSString *name in names) {
     NSLog(@"Font Family:  %@",name);
     NSArray *fontFaces = [UIFont fontNamesForFamilyName:name];
     for (NSString *fname in fontFaces) {
          NSLog(@"   %@",fname);
     }
  }

  self.someLabel.font = [UIFont fontWithName:@"use correct name" size:self.someLabel.font.pointSize];

并使用与NSLog打印的相同名称。

文件现在是否在编译源代码中可见…如果是,则可能是字体名称错误。有时字体名称不同,而文件名不同…请尝试运行

for (NSString *familyName in [UIFont familyNames]) 
{ 
    for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName])
    { 
       NSLog(@"%@", fontName);
    }
}

这是几行代码。您将能够看到字体的实际名称,并使用该名称来代替。

请确保您的字体位于捆绑资源中。由于某些原因,Xcode在大多数情况下没有正确导入自定义字体:

我已经使用了字体:


示例代码:

将自定义字体添加到Xcode后,不要忘记将字体添加到plist。 项目设置>信息>自定义IOS目标属性

添加应用程序提供的属性字体,并键入字体文件的自定义字体文件名。 然后您可以使用该代码示例 self.someLabel.font=[UIFont fontWithName:@JennaSue size:14]

注意:确保在代码中使用正确的字体名称。要做到这一点,你应该将这种字体添加到Mac电脑的字体手册中,打开字体手册,选择那种字体,然后选择正确的字体名称


希望这有帮助

字体可能已损坏或有问题。我尝试了Gabriel.Massana&Neeku提供的解决方案,它对一些字体起到了作用。尝试将字体添加到Mac电脑中。如果它显示了验证问题,很可能它在你的应用程序中不起作用。希望这有帮助

以下是@Ritu在Swift 2中的答案。只需将其放入AppDelegate或视图控制器的viewDidLoad方法中:

let names = UIFont.familyNames()
for name in names {
   print("Font Family: \(name)")
   let fontFaces = UIFont.fontNamesForFamilyName(name)
   for fname in fontFaces {
      print("            \(fname)")
   }
}

您将在控制台日志中记录所有字体名称,只需复制并粘贴代码中所需的名称。

尝试self.someLabel.font=[UIFont fontWithName:@Jenna sue size:14]?正如@user3781721所说的,我想你忘记了。ttf扩展确保你已经将字体添加到目标中,并将Postscript名称传递给fontWithName:size:你可以在字体手册应用程序中找到它。另请参阅此相关答案:您是否可以检查您包含的ttf文件是否存在于您的目标>构建阶段>编译源代码中..有时,对该文件的引用在importing@Geet是的,没有这样的文件。我已经添加了它,但是什么也没有发生。也许我需要在特定的文件夹中添加.ttf文件?我已经把它放在支持文件文件夹里了。不,我已经把这个文件放在支持文件文件夹里了。但是还要确保Xcode已经实际接收并消化了该文件!因为有时候识别添加的文件很糟糕。我正在更新我的答案。是的,它现在列在编译源代码中,但是此代码不打印此字体的名称,这意味着未检测到您的文件…尝试从项目中删除该文件并重新导入它,还可以将其再次包含在您的info.plist中..您是否可以检查您的字体是否为TTFTrue类型字体..如果有其他内容,请执行此操作,那可能就是你的问题了。我还必须将它添加到Info.plist中,并添加:application:filename提供的字体