Interface Builder中的自定义字体

Jon*_*nny 51 fonts interface-builder ios

所以我们在2014年,有没有办法在Interface Builder中设置自定义字体?即不要以编程方式执行,除了应用程序的plist中的"应用程序提供的字体".

Asi*_*lal 70

是的,Marrius是对的.在Xcode 6中,您既不需要使用额外的软件也不需要在代码文件中设置Font.只需在项目中添加字体文件以及其他文件即可."界面"构建器将在"自定义字体列表"中显示添加的字体.

最令人惊奇的是,xcode 6在IB中立即显示应用的字体.这是Apple的重要补充.

还要确保在项目的info.plist中添加此键"应用程序提供的字体",并提供字体文件名以查看设备中的效果.

  • 是的,但由于某种原因,在将字体添加到项目并在界面构建器中设置标签的字体之后 - 字体不会显示在设备上.虽然在IB看起来很好.. (11认同)
  • 但前提是它不是属于字符串的.至少没有FontAwesome和Open Sans. (11认同)
  • 你是对的.还有一件事你应该做.在Project的Info.plist中,您必须添加此键"应用程序提供的字体".并提供您的字体文件名称.这对设备有效.这是应用程序知道这些字体应该包含在应用程序包中的方式. (5认同)
  • 哇.在超过6年的XCode出现在iOS上之后,Apple又是一个"伟大的补充"...对不起,我喜欢XCode,但这只是长期不必要的折磨.事实上它仍然没有使用Attributed Strings这简直荒谬. (4认同)
  • 但它真的不可靠.我在项目中添加了Open Sans字体,并在info.plist文件中添加了条目.字体仍显示在一个xib的自定义字体列表中,但不显示在其他字体中. (2认同)

小智 14

在Xcode 6中,我们在界面构建器中提供了自定义字体.

无需额外的软件.谢谢Apple!

  • 是的,但由于某种原因,在将字体添加到项目并在界面构建器中设置标签的字体之后 - 字体不会显示在设备上.虽然在IB看起来很好.. (4认同)

小智 9

在Xcode 6中,只需在项目中添加ttf文件,并通过自定义字体在故事板中使用它.如果你直接想在你的代码中使用它而不在storyboard中使用它,那么你必须在projectName-Info.plist中添加关键的"UIAppFonts".

例:

<key>UIAppFonts</key> 
<array>
    <string>Signika-Bold.ttf</string>
    <string>Signika-Regular.ttf</string>
    <string>Signika-Light.ttf</string>
    <string>Signika-Semibold.ttf</string>
</array> 
Run Code Online (Sandbox Code Playgroud)

</dict>在projectName-Info.plist中的行之前.

UIFont* font  = [UIFont fontWithName:@"Signika-Regular" size:25];
Run Code Online (Sandbox Code Playgroud)