猿问

我可以在iPhone应用程序中嵌入自定义字体吗?

我可以在iPhone应用程序中嵌入自定义字体吗?

这个问题涉及到IOS的预-3.2。从3.2开始,使用samvermette下面的答案很容易实现此功能,我已经更改了可接受的答案(从命令更改为samvermette)以反映这一点。我不能对这两种答案都给予肯定(除了赞成),但它们都是好的。

我希望有一个应用程序包括一个自定义字体来呈现文本,加载它,然后用标准字体来使用它。UIKit像这样的元素UILabel..这个是可能的吗?

我发现以下链接:

但这需要我自己来渲染每个字形,这有点像辛苦的工作,特别是多行文字。

我还发现一些帖子直截了当地说,这是不可能的,但没有正当理由,所以我正在寻找一个明确的答案。


编辑-失败-[UIFont fontWithName:size:]实验

我下载了Harrowprint.tff(从这里)并将其添加到MyResources目录和项目中。然后我尝试了以下代码:

UIFont* font = [UIFont fontWithName:@"Harrowprint" size:20];

导致抛出异常。查看Finder中的TTF文件,确认字体名为Harrowprint。


编辑-到目前为止,有一些答复告诉我要阅读X或Y的文档。我对所有这些都做了广泛的实验,但没有得到任何结果。在一种情况下,X只与OSX相关,而不是在iPhone上。因此,我将为这个问题设置一个赏金,并且我将奖励给第一个提供答案的人(只使用有文档的API),他提供了足够的信息来让这个问题在设备上工作。在模拟器上工作也是一种奖励。


编辑-似乎奖金自动奖励给答案的票数最多.有意思的,有趣的。实际上,没有人给出一个解决问题的答案-这个解决方案涉及到你自己的编码。UILabel子类不支持单词包装,这是我的一个基本特性-尽管我想我可以扩展它。


拉丁的传说
浏览 580回答 3
3回答

慕村225694

中有一种使用自定义字体的简单方法。iOS 4.添加字体文件(例如,Chalkduster.ttf)到资源XCode中项目的文件夹。打开info.plist并添加一个名为UIAppFonts..此键的类型应该是数组。将您的自定义字体名称添加到这个数组中,包括扩展名(Chalkduster.ttf).现在你可以用[UIFont fontWithName:@"Chalkduster" size:16]在你的申请中。不幸的是,IB不允许用自定义字体初始化标签。看见这个问题来解决这个问题。我最喜欢的解决方案是使用自定义UILabel子类:@implementation CustomFontLabel- (id)initWithCoder:(NSCoder *)decoder{     if (self = [super initWithCoder: decoder])     {         [self setFont: [UIFont fontWithName: @"Chalkduster" size: self.font.pointSize]];     }     return self;}@end
随时随地看视频慕课网APP

相关分类

iOS
我要回答