SF UI Text-Light(New san francisco) 字体不工作
SF UI Text-Light(New san francisco) font doesn't work
我正在尝试更改标签的字体,但它不起作用 name:new New san francisco。
将该字体导入项目并添加 info.plist 这是我的代码
labelname.font = [UIFont fontWithName:@"SF UI Text-Light" size:12];
如果我使用它就可以了
labelname.font = [UIFont fontWithName:@"HelveticaNeue" size:12];
但是 New san francisco 字体不起作用。我不知道我想念什么:(
请使用 https://www.dropbox.com/s/dyw7kl0mtrftjix/San-Francisco-UI-and-COMPACT.zip?dl=0 这个 link 并下载 .ttf 而不是 .otf 文件。我相信你得到了结果,祝你好运。
发生这种情况是因为您使用了错误的字体系统名称。尝试使用
labelname.font = [UIFont fontWithName:@"SFUIText-Light" size:12];
如何查找系统字体名称请参见此处
Adding custom fonts to iOS app finding their real names
我尝试登录系统字体,发现字体名称是“.SFUIText-Light”,所以
labelname.font = [UIFont fontWithName:@".SFUIText-Light" size:12];
这是工作。
添加更新:您应该在 UIFont 中使用系统字体 API。例如:
UIFont.systemFont(ofSize: 12, weight: .light)
Apple 明确告诉开发人员不再依赖字体名称或系统字体的文件系统表示。
顺便说一句,我制作了一个库,用于在您的应用程序中使用 SF 字体的许多特殊功能。随意检查一下:
https://github.com/djfitz/SFFontFeatures
重要,真的。
使用这段代码,非常非常有用。有了它你就可以知道字体的真实名称了。
let fontFamilyNames = UIFont.familyNames
for familyName in fontFamilyNames {
print("------------------------------")
print("Font Family Name = [\(familyName)]")
let names = UIFont.fontNames(forFamilyName: familyName)
print("Font Names = [\(names)]")
}
我给你举个例子。
字体文件(您必须将其添加到您的项目中,就像任何其他文件一样):
"Info.plist"中的字体文件名(与文件扩展名完全相同的名称):
最后在日志中输出Debug(由代码创建)
所以,你可以这样写字体名称:
headerLabel.font = UIFont(name:"SFProDisplay-Heavy", size:30)
使用此代码。它节省了我的时间。很有用(我觉得)!
我正在尝试更改标签的字体,但它不起作用 name:new New san francisco。
将该字体导入项目并添加 info.plist 这是我的代码
labelname.font = [UIFont fontWithName:@"SF UI Text-Light" size:12];
如果我使用它就可以了
labelname.font = [UIFont fontWithName:@"HelveticaNeue" size:12];
但是 New san francisco 字体不起作用。我不知道我想念什么:(
请使用 https://www.dropbox.com/s/dyw7kl0mtrftjix/San-Francisco-UI-and-COMPACT.zip?dl=0 这个 link 并下载 .ttf 而不是 .otf 文件。我相信你得到了结果,祝你好运。
发生这种情况是因为您使用了错误的字体系统名称。尝试使用
labelname.font = [UIFont fontWithName:@"SFUIText-Light" size:12];
如何查找系统字体名称请参见此处 Adding custom fonts to iOS app finding their real names
我尝试登录系统字体,发现字体名称是“.SFUIText-Light”,所以
labelname.font = [UIFont fontWithName:@".SFUIText-Light" size:12];
这是工作。
添加更新:您应该在 UIFont 中使用系统字体 API。例如:
UIFont.systemFont(ofSize: 12, weight: .light)
Apple 明确告诉开发人员不再依赖字体名称或系统字体的文件系统表示。
顺便说一句,我制作了一个库,用于在您的应用程序中使用 SF 字体的许多特殊功能。随意检查一下: https://github.com/djfitz/SFFontFeatures
重要,真的。
使用这段代码,非常非常有用。有了它你就可以知道字体的真实名称了。
let fontFamilyNames = UIFont.familyNames
for familyName in fontFamilyNames {
print("------------------------------")
print("Font Family Name = [\(familyName)]")
let names = UIFont.fontNames(forFamilyName: familyName)
print("Font Names = [\(names)]")
}
我给你举个例子。
字体文件(您必须将其添加到您的项目中,就像任何其他文件一样):
"Info.plist"中的字体文件名(与文件扩展名完全相同的名称):
最后在日志中输出Debug(由代码创建)
所以,你可以这样写字体名称:
headerLabel.font = UIFont(name:"SFProDisplay-Heavy", size:30)
使用此代码。它节省了我的时间。很有用(我觉得)!