UIFont 为自定义字体返回 nil

Dhr*_*kar 2 xcode fonts ios swift

我正在尝试为我的 UILabel使用Nunito-ExtraBoldItalic字体。

我按照教程和其他答案中概述的步骤进行操作。

  1. 将字体添加到字体文件夹。确保目标设置为项目。 在此处输入图片说明
  2. 将条目添加到 plist。 在此处输入图片说明
  3. 确保字体显示在构建阶段/复制包资源中。它显示出来。

我正在使用以下代码创建一个 UIlabel:

uiLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 160, height: 50))
let myfont = UIFont(name: "Nunito-ExtraBoldItalic", size: 14)
uiLabel!.font = myfont
uiLabel!.textColor = UIColor(red: CGFloat(51/255.0), green: CGFloat(33/255.0), blue: CGFloat(32/255.0), alpha: CGFloat(100.0))
addSubview(uiLabel!)
Run Code Online (Sandbox Code Playgroud)

但是 UIFont 返回 nil。

字体的后记名称是“Nunito-ExtraBoldItalic”。

我还尝试运行以下命令:

    for familyName:String in UIFont.familyNames {
        print("Family Name: \(familyName)")
        for fontName:String in UIFont.fontNames(forFamilyName: familyName) {
            print("--Font Name: \(fontName)")
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的字体没有显示。

字体在故事板和其他区域可见。

在此处输入图片说明

我尝试使用 Nunito-ExtraBoldItalic、Nunito-ExtraBold Italic、Nunito-ExtraBold-Italic 作为名称。没有一个工作。

所以我不确定问题是什么。

小智 6

  1. 将字体文件添加到项目中。

在此处输入图片说明

  1. 在 Info.plist 中添加“应用程序提供的字体”。

    <key>UIAppFonts</key> <array> <string>CarterOne.ttf</string> </array>

  2. 确保字体文件在 BuildPhase->Copy Bundle Resources 中列出。

在此处输入图片说明

  1. 确保选中目标成员资格。

在此处输入图片说明

  1. 做一个干净的构建 cmd+option+shift+K