gpt4 book ai didi

ios - 自定义字体未显示在字体系列列表中

转载 作者:行者123 更新时间:2023-12-01 21:45:08 26 4
gpt4 key购买 nike

我在 macOS Catalina 上使用 Swift 5 和 Xcode 11.4.1。
直到今天,我应用自定义字体都没有问题。
我正在尝试将自定义字体应用于名为“textLabel”的标签。
让我先向您展示我是如何尝试的,然后请告诉我出了什么问题。

  • 通过使用 Storyboard
  • 我想将名称为“myFont.ttf”的自定义字体用于名为“textLabel”的标签。
  • 我使用这个选项在 Xcode 中删除了字体文件。
    Option Screenshot
  • 我去了 info.plist 让 Xcode 知道我提供了自定义字体。
    info.plist screenshot
  • 我打开 main.storyboard,转到属性检查器并选择标签的字体作为自定义样式。
  • 我在字体系列列表中找不到“myFont”字体。 <<这里的问题。

  • 所以我尝试了另一种方式,以编程方式。
  • 通过使用代码
  • 与上述相同的过程,直到数字 3。
  • 我在 viewController.swift 文件中编写了这段代码。
  • import UIKit

    class ViewController: UIViewController {

    @IBOutlet weak var textLabel: UILabel!

    override func viewDidLoad() {
    super.viewDidLoad()

    textLabel.font = UIFont(name: "myFont.ttf", size: 22)
    }
    }
  • 我运行了应用程序,它只显示正常的系统字体。

  • 我一遍又一遍地尝试了两种方法(即使我创建了 5 次新文件来测试这个字体),我也尝试了各种字体,但同样的事情发生了。

    最佳答案

    问题在于您为 UIFont 提供的名称。在声明中UIFont(name: "myFont.ttf", size: 22) .您不应该提供姓名 myFont相反,您应该提供字体的实际名称,例如:Avalon .您可以通过列出您拥有的整个字体列表来获取字体。像这样:

    for family: String in UIFont.familyNames {
    print("\(family)")
    for names: String in UIFont.fontNames(forFamilyName: family) {
    print("== \(names)")
    }
    }

    现在检查控制台输出,查找新字体的“family”和“font”名称。将显示为与您的新字体系列对应的“字体”名称(可能有多个“字体”与您的新字体“系列”相关联)传递给 let myNewFont = UIFont(name: "font_name_from_console_output", size: 22)你应该做生意!

    关于ios - 自定义字体未显示在字体系列列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62305812/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com