我使用this方法在我的iPhone应用程序中嵌入自定义字体。UILabel自定义字体显示*错误*自定义字体
嵌入工作原理:当我运行下面的代码时,列出了字体。 (目前,我嵌入OTF格式无数临的所有家庭成员)
for(NSString *familyName in [UIFont familyNames]){
for(NSString *fntName in [UIFont fontNamesForFamilyName:familyName]){
NSLog(@"%@", fntName);
}}
当我尝试设置标签MyriadPro或MyriadPro粗体的字体,如预期该工作而已。但是,当我将字体设置为MyriadPro-BoldCond时,标签仍然以MyriadPro-Bold而不是浓缩版本设置。 (字体名称正确,我查了。)我的代码:
[recommendationLabel setFont:[UIFont fontWithName:@"MyriadPro-BoldCond" size:140]];
recommendationLabel.adjustsFontSizeToFitWidth = YES;
这是怎么回事?
编辑:除了下面的Ingve解决方案,我发现 - 至少对于Myriad Pro - 只要我从plist中删除未使用的字体,就会显示正确的字体变体。在这种情况下,我需要删除MyriadPro-SemiBold。 Mindboggling。
似乎很有趣。我会尽力回报。 – winsmith 2011-01-09 12:09:17
我又回来了。使用核心文本确实有效。然而,与使用NSLabel相比,这是相当多的工作,特别是如果您已经像我一样使用Interface Builder来布局您的应用程序。 – winsmith 2011-01-10 06:29:44