iOS 的自定义字体仅在添加到 IB 中后才显示?

问题描述 投票:0回答:1

我的字体文件名为“CONSELHEIRO.otf”。它位于名为“字体”的文件夹中。我已将此文件添加到 Xcode,并确保它确实已添加到目标中。我也将其添加到 Info.plist 的“应用程序提供的字体”部分中。我尝试通过在 AppDelegate 中运行来确认这一点:

for (NSString *familyName in [UIFont familyNames]){
        NSLog(@"Family name: %@", familyName);
        for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
            NSLog(@"--Font name: %@", fontName);
        }
    }

当我这样做时,字体不会出现在控制台中。然后,我进入故事板,向我的视图之一添加 UILabel,然后单击“自定义”,果然,“CONSELHEIRO”是我的选择之一。然后我构建了应用程序,瞧,它出现在控制台中,以及我希望它出现的 UITableView 的字体。因此,我以为我已经解决了这个问题,于是我继续从 IB 中删除了 UILabel,并且该字体再次不会出现在控制台或表格视图中。

我一生都无法弄清楚为什么这会造成任何差异,而且我不想让这个随机 UILabel 在我的应用程序中可见。有人对可能导致此问题的原因有任何建议吗? PostScript 名称是“Conselheiro”,但在应用程序中更改大小写似乎没有什么区别。

ios objective-c storyboard interface-builder uifont
1个回答
0
投票

它位于名为“fonts”的文件夹中

这就是问题所在。字体必须直接位于应用程序包的根目录下。将字体(而不是文件夹)添加到项目导航器中。

© www.soinside.com 2019 - 2024. All rights reserved.