2015-09-18 98 views
0

我已经在我的项目进口2个字体文件到我的资源组,也将它们添加到我的plist文件:设置粗体字体的NSString的iOS

PT-sans.narrow-bold.ttf和PT_Sans,窄网络Bold.ttf

我想设置粗体字体属性串,但它无法找到我的字体,我得到这个错误:

(UIFont*) nil 

这就是我如何设置字体:

UIFont *font_bold=[UIFont fontWithName:@"PT Sans Narrow Bold" size:14.0f]; 

它需要从这个家庭的字体。任何想法,我做错了什么?

+1

也许你应该写'[UIFont fontWithName:@ “PT_Sans-窄幅粗体” 尺寸:14.0f]'? – mikle94

+0

字体名称错误,我列出了所有可用的字体在我的应用程序,并且问题解决了 – Monicka

回答

0

您可以查看字体的是通过添加以下内容到didFinishLaunchingWithOptions

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); 
} 

和@ mikle94说访问,瓶盖可能是你的问题。

+1

嗨,您的答案帮助我找到我的解决方案,我会接受您的答案,但我也会写详细的解释我如何解决我的问题。 – Monicka

0

在这里我们要使用我们的应用程序的字体,它不存在,我们要注意的几件事情,为了不给做同样的错误,我做到了,并且奇迹后案件“是什么错了,我的代码完全写成“。

  1. 将.otf或.ttf中的字体复制到您的项目中。

  2. 将其添加到.plist文件中。在您的plist文件中添加'应用程序提供的字体',并在项目0中复制您已经导入到项目中的字体名称。

  3. 检查你的目标 - >构建阶段 - >复制包资源。如果你没有在那里看到你的字体,添加它。

  4. 非常重要 - 列出可用的字体来检查,你可以在你的应用程序中使用正确的名称:

    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); 
    } 
    

查找您需要的字体,并设置这样说:

UIFont *customFont = [UIFont fontWithName:@"PTSans-NarrowBold" size:20];