xcode的所有字体怎么显示不出来

如题所述

Xcode增加新字体的方法
在Xcode中增加新字体就是把字体拖进工程中,然后修改info.plist文件拓展。
在info.plist文件中,增加Fonts provided by application选项,后面跟着字体,可以直接写上字体名,也可以带路径。但是带路径的话,后面引用最好都带路径。后面我出的一个问题就是出在了这里。

新字体的使用
增加完字体之后,可以在相应的地方使用的时候注明要使用的字体即可,比如像下面这样使用新字体来定义label的字体。

新字体不能使用的解决方案
一、确保你的字体正确添加
要先判断info.plist文件是否添加正确,然后要确保已经引入工程。就是看你工程设置里德Build Phases选项里面,Copy Bundle Resources这个里面是否正确引入了字体,以及路径是否正确。

二、判断你添加的路径是否正确
我上次的问题就出现在路径这里,你如果在info.plist文件里面的字体带路径了,在工程相应地方引用的时候也要带路径,就像上面说的那个Label,并且注意你拖字体文件进工程的时候也要带路径,就想下面这样。

既然info.plist里面带路径,你这个引用到文件夹的时候,就要选择真实路径Create folder references,而不是创建groups,这个要注意了,否则就算引入正确,路径写错,他还是会使用系统默认字体。

三、确保你的字体名称正确
有的时候你引用的字体名称并不是真的字体名称,你要判断下。
在OC中可以通过下面这段代码输出下

NSArray *fontFamilies = [UIFont familyNames];for (int i = 0; i < [fontFamilies count]; i++){ NSString *fontFamily = [fontFamilies objectAtIndex:i]; NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]]; NSLog (@"%@: %@", fontFamily, fontNames);}

网上Alexander Bekert说了个方法在Swift中可以使用这个代码判断

let fontFamilies = UIFont.familyNames(); for familyName in fontFamilies { let fontNames = UIFont.fontNamesForFamilyName(familyName as String); println("\(familyName): \(fontNames)"); }

看这里的代码输出是否有你的字体名称,比如说你引用的Damon-Light_0.otf,但是输出的时候输出的Damon-Light,那你使用的时候就只能用后面的这个,可以这样使用

UIFont *customFont = [UIFont fontWithName:@"Damon-Light" size:20];
温馨提示:答案为网友推荐,仅供参考
相似回答