2014-01-15 46 views
0

我从来没有遇到过这个问题。但是除了系统字体之外,我无法获得任何字体。我想使用helvetica,但那不起作用,我试图将我的UILabel的设置给Farah,看看它是否有效,而不是。但是,如果我在模拟器(使用iOS7)中运行,那么它似乎工作正常。我试图在故事板上设置字体。然后尝试以编程方式设置它,非系统字体无法在iOS6上工作

self.titleLabel.font = [UIFont fontWithName:@"Farah" size:25]; 

是否有任何更改与新的Xcode,将不允许非系统字体?

+0

字体文件是否正确安装在资源包中? Info.plist是否正确引用字体文件?您是否使用适当的字体名称作为字体? – rmaddy

回答

0

参数fontWithName必须是字体的实名,而不是文件的名称。

如果你用Mac字体书打开你的ttf文件,你会直接在窗口上看到它的名字。

欲了解更多信息,请查询this

0

正确获取字体名称并不容易。运行此代码,以了解可用的名字:

for (NSString* s in [UIFont familyNames]) 
    NSLog(@"%@: %@", s, [UIFont fontNamesForFamilyName:s]); 

当然,如果设置的self.titleLabel一个功能不工作,你也应该确保self.titleLabel不为零。

2

将所有非系统字体添加到您的应用程序并包含在'应用程序提供的字体'部分.plist文件中。 在应用程序中使用字体后:[UIFont fontWithName: @"TitilliumText25L-400wt" size:14];(将“TitilliumText25L-400wt”替换为相应的字体名称)。

P.S.如果您在检测真实字体名称时遇到问题,请使用FontBook应用程序或 下面的代码段,它向您显示应用程序的所有可用字体。

for(NSString* family in [UIFont familyNames]) { 
    NSLog(@"%@", family); 
    for(NSString* name in [UIFont fontNamesForFamilyName: family]) { 
     NSLog(@" %@", name); 
    } 
} 
+0

好吧,所以iOS6不附带Farrow或HelveticaNeue-Thin。这就是为什么它不起作用。我切换到HelveticaNeue-Light,它工作。我并没有试图导入任何ttf文件或任何东西。我只是想在IB中选择字体,并在应用程序中看到它没有发生。这是因为iOS6不会加载HelveticaNeue-Thin –

相关问题