小编sac*_*n.j的帖子

无法在 Swift 3 中以编程方式注册字体

我正在尝试在 swift 3 中以编程方式注册字体。这是我用来安装字体的代码片段。我尝试安装的字体是Oswald

func installFonts(_ fonts: [String]){
    for i in 0 ..< fonts.count{
        let font = fonts[i].components(separatedBy: ".")
        let fontPath = Bundle.main.url(forResource: font[0], withExtension: font[1])!
        var error: Unmanaged<CFError>?
        if let dataProvider = CGDataProvider(url: fontPath as CFURL) {
            let font = CGFont(dataProvider)
            if (!CTFontManagerRegisterGraphicsFont(font, &error)) {
                print(error.debugDescription)
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

未安装任何字体,错误描述如下:

Optional(Swift.Unmanaged<__ObjC.CFError>(_value: Error Domain=com.apple.CoreText.CTFontManagerErrorDomain Code=105 \"Could not register the CGFont \'<CGFont (0x6100000d9f30): Oswald-Bold>\'\" UserInfo={NSDescription=Could not register the CGFont \'<CGFont (0x6100000d9f30): Oswald-Bold>\', CTFailedCGFont=<CGFont (0x6100000d9f30): Oswald-Bold>}))

ios swift

4
推荐指数
2
解决办法
5270
查看次数

标签 统计

ios ×1

swift ×1