Xcode游乐场中的自定义字体

Kat*_*kas 14 xcode swift-playground

我在代码中编写接口布局.因为每次我逐个像素地测试字体大小或视图布局时重新加载应用程序很烦人,所以我开始在操场上进行.这确实有很大帮助.但我确实想念那里的自定义字体.

有没有办法在游乐场添加自定义字体?

Chr*_*ett 21

首先,将.ttf文件添加到游乐场的资源中.然后你可以像这样加载字体:

let cfURL = NSBundle.mainBundle().URLForResource("Proxima Nova Semibold", withExtension: "ttf") as! CFURL

CTFontManagerRegisterFontsForURL(cfURL, CTFontManagerScope.Process, nil)

let font = UIFont(name: "ProximaNova-Semibold", size:  14.0)
Run Code Online (Sandbox Code Playgroud)

.ttf文件的文件名通常与UIFont名称所需的字体的实际desciptor名称不匹配.要找到它,请在Mac上的Font Book中打开.ttf文件,查看其详细信息,然后查找PostScript名称.这是在UIFont中寻找的名称(名称:......)

或者,您可以在使用以下代码注册URL后查找已安装的字体:

var fontNames: [[AnyObject]] = []
for name in UIFont.familyNames() {
    println(name)
    if let nameString = name as? String
    {
        fontNames.append(UIFont.fontNamesForFamilyName(nameString))
    }
}
fontNames
Run Code Online (Sandbox Code Playgroud)

  • 对于 swift3,使用: let fontURL = Bundle.main.url(forResource: "ProximaNova-Semibold", withExtension: "ttf") CTFontManagerRegisterFontsForURL(fontURL! as CFURL, CTFontManagerScope.process, nil) (2认同)