iphone - 向 UIAppFonts 添加多种字体会相互覆盖

标签 iphone uifont

我正在尝试通过 Info.plist 中的 UIAppFonts 将一些自定义字体添加到 iPhone 应用程序。

我可以通过代码访问这两个字体名称,即 MyFont-BoldMyFont-Medium

我的问题是 UIAppFonts 数组中的最后一个字体覆盖了另一个字体,导致 MyFont-BoldMyFont-Medium 都渲染出来MyFont-Bold 如果这是 plist 数组中的最后一个条目。通过将 MyFont-Bold 拖动为第一个条目,可以使两个字体名称呈现 MyFont-Medium。

属性列表摘录:

UIAppFonts
  item 0    MyFont-Medium
  item 1    MyFont-Bold

我用以下方式调用字体:

UIFont* applicationFontBold = [UIFont fontWithName:@"MyFont-Bold"
                                              size:[UIFont buttonFontSize]];

UIFont* applicationFont = [UIFont fontWithName:@"MyFont-Medium"
                                          size:[UIFont buttonFontSize]];

有人尝试过将多种字体添加到一个字体系列中吗?

最佳答案

不知道它是否已修复,但我通过使用 vim 编辑器实际修改 .ttf 文件内的字体系列名称来解决这个问题。因为您有不同的字体类型(粗体和中号),但实际上是相同的字体系列(MyFont) - 系统将它们混合在一起。所以我在第一个文件中所做的 - 我实际上将系列修改为 MyFontA,并在第二个文件中修改为 MyFontB (当然我有不同的名称 - 这些只是为了匹配上面的示例)。 这很完美。

关于iphone - 向 UIAppFonts 添加多种字体会相互覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4245960/

相关文章:

iPhone 无法支持开发

ios - 如何在我的 xcode 项目中添加和使用自定义字体

iOS - 仅适用于 iOS 6 及更高版本的 Info.plist 条目?

iphone - 为什么 Wingdings 在 iOS 5 上无法运行?为什么我无法在 iPhone 应用程序中使用 Wingdings?

iphone - TableView 重新加载数据未调用 cellForRowAtIndexPath

iphone - 内存使用随着 CTFontCreateWithName 和 CTFramesetterRef 的增加而增长

iphone - UICollectionView Cell Image 在 GCD 进入 View 时发生变化

iphone - UIToolBar - 禁用按钮

ios - 我如何替换 #define 以用于常见的 swift 和 objective-c 使用

iphone - 我可以在 iPhone 上预加载自定义字体以提高性能吗?