2015-11-02 61 views
0

我想使用的字形的一个TTF文件中的iOS应用,并具有与该字体的字符串一些问题上的ttf文件...我可以阅读从TTF文件中的Unicode字体的,但它不似乎字形正在从文件中读取。雕纹与斯威夫特

例如下面的代码适用于Unicode字符。

let myFont = UIFont(name: "WeatherIcons-Regular", size: 15) 
cell.detailTextLabel?.font = myFont 
cell.detailTextLabel?.text = "\u{26c8}" 

但是,如果我尝试阅读一个字形,图标会显示为一个带有框的问号。

let myFont = UIFont(name: "WeatherIcons-Regular", size: 15) 
cell.detailTextLabel?.font = myFont 
cell.detailTextLabel?.text = "\u{f001}" 

链接到下面的ttf文件和css文件。

我已经加入了字体文件到我的应用程序。 font added to plist

+0

我接受你的答案,但它不具有完整的解决方案...我只是不被接受你的答案......我是想重用你的答案作为一个完整的解决方案。 –

+0

你是如何在项目中包含CSS的?试图在iOS应用中使用相同的字体。 – pennyloaf

回答

1

确保ttf文件包含目标。您可以通过在项目中设置字体文件的目标成员来完成此操作。

setting target membership

4

请求您在iOS项目的Info.plist中添加“Fonts provided by application”(即UIAppFonts)键,并添加项目“weathericons-regular-webfont.ttf”。

UIAppFonts(Array - iOS)指定应通过正常机制提供的任何应用程序提供的字体。阵列中的每个项是包含字体文件(包括文件名扩展名)的名称的字符串,其位于所述应用程序的包。系统加载指定的字体,并在应用程序运行时使其可供应用程序使用。

像这样:

Fonts provided by application

公开赛字体簿应用程序的字体文件,我们可以看到的字体名称是“天气图标”。然后打印出所有的字体名称,以检查字体是否可用:

print(UIFont.familyNames()) 
+0

我加了这一点,但其输出不包含的字体名称... –

+0

@JeffSloyer你可能忘了将字体文件添加到您的应用程序的目标数组。 – matt