2012-01-29 66 views
3

我正在尝试为我的iOS应用使用自定义字体。这是我做的不能在iOS应用中使用自定义字体

我添加了自定义字体(m.tff)到Xcode支持文件目录。此外,我创建的应用程序与myApp.plist

字体(m.tff)在我看来的值名称设置进入所谓的字体我有一个标签

UILabel *label = [[UILabel alloc]initWithFrame:CGRect(10, 20, 230, 30)]; 
label.font = [UIFont fontWithName:@"My custom font" size:15]; 

等等

问题是,当我启动应用程序时,标签中的文本是使用默认字体而不是使用特定的字体。

我在这里想念什么?

EDITED

那么它现在似乎工作,但字体仅适用于像,人物?但不适用于信件。 我使用西里尔文顺便说一句。

回答

9

使用此提供了plist中

字体的条目,从而获得所有可用

// List all fonts on iPhone 
    NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]]; 
    for(NSString *familyName in familyNames) 
    { 
    NSLog(@"family: %@", familyName); 

    NSArray *fontNames = [[NSArray alloc] initWithArray:[UIFont fontNamesForFamilyName:familyName]]; 
    for(NSString *fontName in fontNames) 
    { 
     NSLog(@" font: %@", fontName); 
    } 
    } 
字体

寻找你嵌入的字体,看看它的名字是否相同。

+0

哇,这是非常有用的! – summerc 2012-01-29 13:54:49

2

检查您的[UIFont fontWithName:@"My font" size:15]行是否返回非空的UIFont对象。

+0

是的,我也喜欢@ Piyush的回答。 +1给他。 – 2012-01-29 13:48:03

+0

编辑你的问题时编辑我的答案,你是个偷偷摸摸的人。 :-)我原来的问题指出了复制和粘贴代码中的拼写错误。 – 2012-01-29 13:49:36

4

字体扩展应TTF,而不是TIFF

,然后通过使应用Font.ttf

+1

O.P.现在编辑了他的问题,把'.tiff'改成'.tff'(它*仍然不正确)。可能现在卢克的答案是最合适的答案。 – 2012-01-29 13:53:43

+0

是的,它是不正确的,它应该是ttf(真正的字体),而不是tff – 2012-01-29 14:03:48

0

m.tiff听起来不像受支持的字体文件,即TrueType或OpenType。

2

在你Info.plist文件,添加键值:Fonts provided by application使用数组对象,并设置阵列的项目为字符串如下:

MyFont.ttf 

哪里MyFont是列出的确切名称字体在你的Mac的应用程序,“字体书”。使用Spotlight启动字体书籍,然后在其中找到您的字体文件以再次检查名称。

然后,当你设置字体为您的标签:

myLabel.font = [UIFont fontWithName: @"MyFont" size: someFloatValue]; 
+0

请参阅更新的问题 – summerc 2012-01-29 13:58:05

+0

您的字体文件是否包含您正在尝试使用的字符? – Luke 2012-01-29 14:01:28

0
  1. 确保您的字体是info.plist中(由应用程序提供字体)
  2. 选择侑的目标,在构建阶段选项卡,复制软件包资源,添加你的字体。