当前位置:  开发笔记 > IOS > 正文

在iOS中下载并安装自定义字体

如何解决《在iOS中下载并安装自定义字体》经验,为你挑选了1个好方法。

我在这里搜索了答案,但没有找到可用于获取答案的帖子。我只找到有关将字体预安装到应用程序的plist的答案,但对我不起作用。

我想做的是从URL下载字体,将文件本地存储到应用程序中,然后在控件中安装或使用该字体。

我正在将字体安装到平板电脑上以供使用。我可以使用下面的代码将它添加到CTFontManager中,而不会出现任何问题。

private func InstallFont(dest:String)
{
    let fontData = NSData(contentsOfFile: dest)!

    let dataProvider = CGDataProviderCreateWithCFData(fontData)
    let cgFont = CGFontCreateWithDataProvider(dataProvider)!

    var error: Unmanaged?
    if !CTFontManagerRegisterGraphicsFont(cgFont, &error)
    {
        print("Error loading Font!")
    }
}

我面临的问题是,我似乎找不到在应用程序中任何位置安装的字体,我尝试按如下所示进行设置,但默认设置为默认,告诉我找不到字体。

self.font = UIFont(name: "Font Name", size: 20.0)

我还遍历了字体家族,以查看它是否已安装并且在那也没有成功。

for x in UIFont.familyNames()
{
    print(x)

    for z in UIFont.fontNamesForFamilyName(x)
    {
        print("== \(z)")
    }
}

我正在努力实现的目标是否可能?如果是这样,我在做什么错?



1> Gyuri T..:

有可能的。我在github中创建了一个示例项目。您只需添加下面的行。

if !CTFontManagerRegisterGraphicsFont(cgFont, &error)
{
    print("Error loading Font!")
}
else
{
    let fontName = CGFontCopyPostScriptName(cgFont)
    uiFont = UIFont(name: String(fontName) , size: 30)
}

谢谢迈克尔·道特曼,他是对的。

Github项目链接

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有