向UIAppFonts添加多个字体会相互覆盖

时间:2010-11-22 13:38:29

标签: iphone uifont

我正试图通过UIAppFonts中的Info.plist向iPhone应用添加一些自定义字体。

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

我的问题是,UIAppFonts数组中的最后一个字体会覆盖另一个字体,如果这是MyFont-BoldMyFont-Medium中的最后一个字段,则会MyFont-Bold呈现MyFont-Bold plist数组。通过拖动UIAppFonts item 0 MyFont-Medium item 1 MyFont-Bold 作为第一个条目使两个字体名称呈现MyFont-Medium。

属性列表摘录:

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

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

我用以下字体调用字体:

{{1}}

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

我对同一字体系列的多种字体有类似的问题。我发现如果我将info.plist文件视为源代码,那么xml格式不正确,只会导致部分字体注册。