我在macOS Catalina上使用的是Swift5和Xcode11.4.1。
我一直没有问题应用自定义字体直到今天。 我正在尝试将自定义字体应用于一个名为“textlabel”的标签。 让我先告诉你我是怎么试的,然后请告诉我出了什么问题。
所以我尝试了另一种方式,程序化。
-
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'名称。 将显示为与新字体家族相对应的'font'名称(可能有多个'font'与新字体家族相关联)的任何内容传递给,让myNewFont=UIFont(name:“font_name_from_console_output”,size:22)
,您就可以开始工作了!