我在用着this https://stackoverflow.com/questions/360751/can-i-embed-a-custom-font-in-an-iphone-application/2616101#2616101在我的 iPhone 应用程序中嵌入自定义字体的方法。
嵌入有效:当我运行以下代码时,会列出字体。 (目前,我正在以 OTF 格式嵌入 Myriad Pro 的所有家庭成员)
for( NSString *familyName in [UIFont familyNames] ){
for( NSString *fntName in [UIFont fontNamesForFamilyName:familyName] ){
NSLog(@"%@", fntName);
}}
当我尝试将标签的字体设置为 MyriadPro 或 MyriadPro-Bold 时,这正如预期的那样工作。但是,当我将字体设置为 MyriadPro-BoldCond 时,标签仍然设置为 MyriadPro-Bold 而不是压缩版本。 (字体名称是正确的,我检查过。)我的代码:
[recommendationLabel setFont:[UIFont fontWithName:@"MyriadPro-BoldCond" size:140]];
recommendationLabel.adjustsFontSizeToFitWidth = YES;
这是怎么回事?
Edit:除了下面 Ingve 的解决方案之外,我还发现,至少对于 Myriad Pro 来说,一旦我从 plist 中删除未使用的字体,就会显示正确的字体变体。在这种情况下,我需要删除 MyriadPro-SemiBold。令人难以置信。
UIFont 每个字体系列仅限两种变体。但是,您可以通过在编辑器中打开其他 n-2 字体并更改系列名称来解决此问题。
在这里回答了我自己的问题:UIFont fontWithName:仅限于每个系列加载 2 个变体 https://stackoverflow.com/questions/4715824/uifont-fontwithname-limited-to-loading-2-variations-per-family
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)