iPhone开发:如何使用自定义字体?

001*_*001 7 cocoa-touch objective-c ios

我在我的photoshop设计中使用了一种特殊字体,

  1. 是否有可能在iPhone应用程序中原生使用这些字体?要么

  2. 我需要先将它们转换成图像吗?

  3. 如果这是唯一的方法,那么你如何处理动态文本?

edz*_*o27 30

  1. 将您的字体文件复制到资源中

  2. 在你的应用程序.plist中创建(如果它存在只是创建一行)一行称为"由应用程序提供的字体",然后在"项目0"中复制您的字体名称,例如"Ciutadella-Bold.otf"(如果有一些空格)在字体名称中,重命名它,例如将所有空格替换为减号' - ')

  3. 然后,您可以在应用程序中定义此字体:

    UIFont *CiutadellaBold = [UIFont fontWithName:@"Ciutadella-Bold" size:17.0f];
    
    Run Code Online (Sandbox Code Playgroud)
  4. 并在例如uiLabel中使用:

    [uiLabel setFont:CiutadellaBold];
    
    Run Code Online (Sandbox Code Playgroud)

  • 我只需要将喜欢的文件添加到目标成员资格中.单击字体文件,如果尚未选择,则在"目标成员资格"部分的项目右侧菜单中选择. (3认同)

Jul*_*rgé 26

UIFont *font = [UIFont fontWithName:@"MyFont" size:20];
[label setFont:font];
Run Code Online (Sandbox Code Playgroud)

其中"MyFont"将是项目中的TrueType或OpenType文件(没有文件扩展名),而label将是UILabel的实例.

  • 不过要小心.并不总是字体文件的名称与字体名称相同.您可以在计算机上安装字体时检查字体名称.我告诉这个是因为我遇到了这个问题,花了好几个小时来解决. (16认同)