Available Fonts on iOS
我正在尝试在Swift中制作一个
1 2 3 4 5 6 7 8 | let fontFamilyNames = UIFont.familyNames() for familyName in fontFamilyNames { print("Font Family Name = [\\(familyName)]") let names = UIFont.fontNamesForFamilyName(familyName) print("Font Names = [\\(names)]") } |
我的UILabel的代码如下:
1 2 3 4 5 | let characterLabel:UILabel! = UILabel(frame: CGRectMake(600,140,300,300)); characterLabel.font = UIFont(name:"Kaiti SC" , size:250.0); characterLabel.text ="说"; |
我以为Mac上的所有字体都可以在我的Swift程序中找到。 (该代码当然可以与其他字体(例如" Baskerville")一起使用,中文字符在这些字体中看起来并不好。)有什么想法吗?
字体
尽管字体在OS X上可用,但并不意味着它在iOS上可用或完全可用。
这里是Swift 5版本:
1 2 3 4 5 6 7 | let fontFamilyNames = UIFont.familyNames for familyName in fontFamilyNames { print("Font Family Name = [\\(familyName)]") let names = UIFont.fontNames(forFamilyName: familyName) print("Font Names = [\\(names)]") } |
这似乎是我的问题的答案。
如果您访问https://support.apple.com/zh-cn/HT202771,您将看到iOS中可用的字体。此外,它说:"应用程序可以根据需要下载以下字体:",其中包括许多亚洲字体和其他字体。他们没有告诉您如何访问这些字体。显然,这些字体在Mac上,并且必须专门下载到iOS。
该网站向您展示了如何执行此操作:http://www.perfectline.co/blog/2010/05/uiappfonts-custom-fonts-with-the-iphoneipad-3-2-sdk/
我发现有两个技巧:(1)您需要在info.plist中添加一个新键,并且(2)您必须编写一个函数来列出字体系列,这样您才能知道需要在字体中使用的实际字体名称程序。该站点具有这样的功能:http://giordanoscalzo.tumblr.com/post/95900320382/print-all-ios-fonts-in-swift