Не входящие в комплект внешние шрифты для приложения iOS - PullRequest
0 голосов
/ 11 ноября 2018

Как использовать нестандартные шрифты в моем приложении iOS? Я хочу добавить шрифт в приложение через iCloud или из Интернета и использовать его внутри.

1 Ответ

0 голосов
/ 11 ноября 2018

Да, вы можете сделать это через

CTFontManagerRegisterGraphicsFont

(https://developer.apple.com/documentation/coretext/1499499-ctfontmanagerregistergraphicsfon)

Вам нужна только ссылка на файл или ссылку на данные. Код должен быть самоочевидным:

guard let fontData = NSData(contentsOfFile: pathForResourceString) else {
    fatalError("[UIFont] Could not get data of font")
}

guard let dataProvider = CGDataProvider(data: fontData) else {
    fatalError("[UIFont] Could not get dataprovider of font")
}

guard let fontRef = CGFont(dataProvider) else {
    fatalError("[UIFont] Could not create font")
}

var errorRef: Unmanaged<CFError>?
if CTFontManagerRegisterGraphicsFont(fontRef, &errorRef) == false {
    fatalError("[UIFont] Could not register font")
}

Затем вы можете получить доступ к шрифту по его имени, как в комплекте.

...