我已经针对类似的问题进行了梳理,其中大多数似乎告诉我,我可能忘记将字体添加到复制资源构建阶段。我还确保这两种字体都是构建目标的一部分。
我已经对它进行了双重和三次检查。两种字体都在copy resources阶段,都在plist中列出。
在我的应用委托(delegate)中,我检查了哪些字体可用于它们各自的字体系列,我得到了意想不到的结果
NSLog(@"%@", [UIFont fontNamesForFamilyName:@"DS-Digital"]);
NSLog(@"%@", [UIFont fontNamesForFamilyName:@"Proxima Nova"]);
第一个打印出我想要的“(“DS-Digital-Italic”)”,第二个打印出“(“ProximaNova-Regular”)”,也是我想要的。
当我按如下方式使用其中一种字体时,它只出现在模拟器中,但在任何设备上它都默认返回系统字体。
[_estimateLabel setFont:[UIFont fontWithName:@"DS-Digital-Italic" size:50]];
或
[cell.mainLabel setFont:[UIFont fontWithName:@"ProximaNova-Regular" size:20]];
有什么我想念的吗?我在 iPad mini 和 iPhone 5C 上使用 XCode 5,两者都是 iOs 7。
最佳答案
在 Fontbook 中打开字体(Mac 附带)。确保通过后脚本名称调用它,如下所示:
它被@"HelveticaNeueCE-Thin"调用
同时确保在将字体添加到项目时检查“添加到目标:”中的字体名称,如果您不这样做,它们将不会被复制到发送到的应用程序包中你的设备。
关于iOS 自定义字体不显示在设备上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19012553/