如何在Swift中更改字体样式

时间:2015-12-04 15:55:34

标签: ios swift uifont

我正在试图弄清楚如何将字体的样式更改为“Thin”。有谁知道怎么做?

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

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

6 个答案:

答案 0 :(得分:21)

我看到它的方式是AppleSDGothicNeo-Thin,没有空格和破折号风格。所以你的代码将是

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

修改

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

如果向项目添加自定义字体,则其名称为“SuperAwesomeFont-Light.ttf”。因此,只需使用文件名作为字体名称即可。

答案 1 :(得分:10)

您在使用字体名称时遇到问题。

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

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

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)]")
    }
}

检测到Font后,您可以将其设置为:

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

答案 2 :(得分:3)

这可能有效:

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

答案 3 :(得分:3)

将它放在游乐场中以获取所有可用字体的正确名称(根据oleg更新为Swift 3.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()

答案 4 :(得分:0)

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

答案 5 :(得分: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