我在我的Photoshop设计中使用了一种特殊的字体,
可以在iphone应用中原生使用这些字体吗?或
我需要先将它们转换为图像吗?
如果这是唯一的方法,那么你对动态文字做了什么?
答案 0 :(得分:30)
将您的字体文件复制到资源
在您的应用程序.plist中创建(如果存在只是创建一行)一行称为“由应用程序提供的字体”,然后在“项目0”中复制您的字体名称,例如“Ciutadella-Bold.otf” (如果字体名称中有一些空格,请将其重命名,例如将所有空格替换为减号' - ')
然后您可以在应用程序中定义此字体:
UIFont *CiutadellaBold = [UIFont fontWithName:@"Ciutadella-Bold" size:17.0f];
并在uiLabel中使用:
[uiLabel setFont:CiutadellaBold];
答案 1 :(得分:26)
UIFont *font = [UIFont fontWithName:@"MyFont" size:20];
[label setFont:font];
其中“MyFont”将是项目中的TrueType或OpenType文件(没有文件扩展名),而label将是UILabel的实例。
答案 2 :(得分:4)
是的,iOS 3.2及更高版本是可行的。你需要有字体文件,我忘记了什么格式。将字体文件作为资源添加到项目中,然后将应用程序info.plist中的字体名称添加到原始键“UIAppFonts”下的数组中,或者在友好键“应用程序提供的字体”下添加。
以下是您可以查看的示例应用程序 - https://files.me.com/tobiasoleary/ey08n1。它打印出应用程序可访问的所有字体。已经添加了两种字体Flames和Firestarter。
这是迄今为止向应用程序添加自定义字体的最简单方法。如果您需要在4.0之前支持iOS的自定义字体,请参阅http://github.com/zynga/FontLabel/tree/master
此问题已在此处提出:Can I embed a custom font in an iPhone application?。
答案 3 :(得分:0)
注意:
“fontWithName”的参数必须是字体的真实名称,而不是文件的名称。如果您使用Mac Font Book打开ttf文件,您将直接在窗口顶部看到它的名称。