XCode 4.3.2中的自定义字体

时间:2012-05-10 20:09:45

标签: iphone ios xcode ipad fonts

我知道这个主题已经开始了,但是我已经尝试了我在StackOverflow上找到的每个解决方案来解决这个问题,并且它因某些原因而无法工作。我以编程方式创建UILabel,然后使用此字体。 UILabel正在呈现,但不是我想要的字体(看起来像是默认的东西)

首先,我将两个.ttf字体导入xcode项目中名为“Resources”的文件夹下。这两种字体是Gotham Book和Gotham Book Italic(GothaBoo.ttf,GothaBooIta.ttf)

然后,我在[my app] -Info.plist文件中添加了一行名为“UIAppFont”的文件,在数组中添加了两行,Item 0 |字符串| GothaBoo,第1项|字符串| GothaBooIta。

我在Copy Bundle Resources下检查了Target Build Phases,并确保这两个字体在那里。

然后,我只是将此代码添加到viewDidLoad例程中:

UILabel *myLabel1 = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 100)];
myLabel1.text = @"Hello";
myLabel1.backgroundColor = [UIColor clearColor];
myLabel1.font = [UIFont fontWithName: @"GothaBoo" size: 48.0];
myLabel1.textColor = [UIColor blackColor];

[self.view addSubview:myLabel1]; 

没有骰子。我究竟做错了什么?该项目采用Xcode 4.3.2,适用于iPad,运行5+以上的iOS

2 个答案:

答案 0 :(得分:5)

在数组中必须提供完整的文件名,因此不是Item 0 |字符串| GothaBoo,第1项|字符串| GothaBooIta你必须把它变成Item 0 |字符串| GothaBoo.ttf,第1项|字符串| GothaBooIta.ttf

其次,文件名或fontname可能与iOS在fontWithName:中看到的名称不同。如果在更改.plist中的文件名后仍然无效,请在Mac上使用Fontbook获取正确的名称。

答案 1 :(得分:1)

请注意文件名和字体名称的区别。字体名称将在Fontbook中找到。在info.plist中,它是文件名,在代码中,它是字体名称。

我自己挣扎了很长时间。很确定这会奏效。