iOS上可用的字体

iOS上可用的字体,ios,xcode,swift,fonts,Ios,Xcode,Swift,Fonts,我正在尝试用Swift制作一个UILabel——该标签将显示一个简体中文字符。我正在尝试使用Mac附带的Kaiti SC字体,它可以在字体手册和Mac上的所有程序中找到,但是当我使用以下代码列出字体时,它不会显示 let fontFamilyNames = UIFont.familyNames() for familyName in fontFamilyNames { print("Font Family Name = [\(familyName)]")

我正在尝试用Swift制作一个
UILabel
——该标签将显示一个简体中文字符。我正在尝试使用Mac附带的Kaiti SC字体,它可以在字体手册和Mac上的所有程序中找到,但是当我使用以下代码列出字体时,它不会显示

    let fontFamilyNames = UIFont.familyNames()

    for familyName in fontFamilyNames {

        print("Font Family Name = [\(familyName)]")
        let names = UIFont.fontNamesForFamilyName(familyName)
        print("Font Names = [\(names)]")
    }
我的UILabel的代码如下所示:

   let characterLabel:UILabel! = UILabel(frame: CGRectMake(600,140,300,300));

   characterLabel.font = UIFont(name:"Kaiti SC" , size:250.0);

   characterLabel.text = "说";

我本以为Mac上的所有字体都可以在我的Swift程序中使用。(当然,该代码也适用于其他字体,如“巴斯克维尔”(Baskerville),汉字在这些字体中看起来不太好。)有什么想法吗?

字体
Kaiti SC
在iOS上不可用,请查看可用字体检查的完整列表


尽管该字体在OS X上可用,但并不意味着它在iOS上可用或完全可用。

这似乎是我问题的答案

如果转到,您将看到iOS中提供了哪些字体。此外,它还说“如果需要,应用程序可以下载以下字体:”这些字体包括许多亚洲和其他字体。它们不会告诉您如何访问这些字体。显然,这些字体都在Mac上,必须专门下载到iOS上

本网站向您展示了如何做到这一点:


我发现有两个技巧是必要的:(1)您需要在info.plist中添加一个新的键;(2)您必须编写一个函数来列出字体系列,以便您知道在程序中需要使用的实际字体名称。本网站有这样一个功能:

这里是Swift 5版本:

let fontFamilyNames = UIFont.familyNames

for familyName in fontFamilyNames {
    print("Font Family Name = [\(familyName)]")
    let names = UIFont.fontNames(forFamilyName: familyName)
    print("Font Names = [\(names)]")
}

也许它不是本地提供的。尝试将其添加为自定义字体,然后重试。@LinusG。请注意,对于要包含在应用程序中的字体,您可能需要发行许可证。因为您正在重新分发它。@rckoenes,谢谢,您是对的。我刚从苹果公司找到了这个字体列表,上面说iPad上没有安装KaiTi,但它是可用的附加字体之一。所以我会尝试一下。如果这是你问题的答案,请将其标记为已接受,以便让人们知道已经给出了适当的答案。