如何更改 Swift 中的字体样式

How to Change Font Style in Swift

我正在研究如何将字体样式更改为 "Thin"。有人知道怎么做吗?

这是我的最佳尝试,但它不起作用:

m.font = UIFont(name: "Apple SD Gothic Neo", style: "Thin", size: 8.0)

这可能有效:

let font = UIFont(name: "HelveticaNeue-Thin", size: 16.0)!

您的字体名称有问题。

首先找出字体的正确名称然后使用它。

首先打印他们的所有名字。然后使用。代码示例显示应用程序的所有已安装字体。

func printFonts() {
    let fontFamilyNames = UIFont.familyNames()
    for familyName in fontFamilyNames {
        print("------------------------------")
        print("Font Family Name = [\(familyName)]")
        let names = UIFont.fontNamesForFamilyName(familyName)
        print("Font Names = [\(names)]")
    }
}

检测到字体后,您可以这样设置:

m.font = UIFont(name: "AppleSDGothicNeo-Thin", size: 8.0)

我看到的方式是 AppleSDGothicNeo-Thin,没有空格,并且是破折号样式。所以你的代码是

m.font = UIFont(name: "AppleSDGothicNeo-Thin", size: 8.0)

编辑:

我明白你为什么要这样使用字体了。

如果您将自定义字体添加到您的项目,它的名称为 "SuperAwesomeFont-Light.ttf"。所以你只使用文件名作为字体的名称是有道理的。

将其放在 playground 中以获得所有可用的正确字体名称(基于 oleg 更新 Swift 3.0 至 Swift 5.0)

//: Playground - noun: a place where people can play

import UIKit

func printFonts() {
    let fontFamilyNames = UIFont.familyNames
    for familyName in fontFamilyNames {
        print("------------------------------")
        print("Font Family Name = [\(familyName)]")
        let names = UIFont.fontNames(forFamilyName: familyName)
        print("Font Names = [\(names)]")
    }
}

printFonts()

lblDes.font = UIFont(名称:"HelveticaNeue-UltraLight",大小:14.0)

let myLabel = UILabel(frame: CGRect(x: 0, y: 0, width: yourWidth, height: yourHeight))
    myLabel.text = "Your Text"
    myLabel.font = UIFont(name: "Name of your font", size: 18)
    self.view.addSubview(emptyMessageLabel)
    myLabel.translatesAutoresizingMaskIntoConstraints = false
    myLabel.centerYAnchor.constraint(equalTo: self.view.centerYAnchor).isActive = true
    myLabel.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true