What must I do to get an UIFont object with a custom font? I remember there was also something going on in the Info.plist file.
What font file formats are supported?
Add the fonts to your project at the resource folder
And add this function:
func loadFont(filePath: String) {
let fontData = NSData(contentsOfFile: filePath)!
let dataProvider = CGDataProviderCreateWithCFData(fontData)
let cgFont = CGFontCreateWithDataProvider(dataProvider)!
var error: Unmanaged?
if !CTFontManagerRegisterGraphicsFont(cgFont, &error) {
let errorDescription: CFStringRef = CFErrorCopyDescription(error!.takeUnretainedValue())
print("Unable to load font: %@", errorDescription)
}
}
Use example:
if let fontPath = NSBundle.mainBundle().pathForResource("MyCustomFont", ofType: "ttf") {
loadFont(fontPath)
}
let myFont = UIFont(name: "MyCustomFont", size: CGFloat(18))