iOS字体-为什么Interface Builder给你更多的字体选项?例如HelveticaNeue-Medium?

3
我看了以下链接:通过代码设置UILabel字体-生成错误-iPhone,其中提供了查看所有可用iOS字体的代码。对于HelveticaNeue,我们得到以下结果:
HelveticaNeue-Italic HelveticaNeue-Bold HelveticaNeue-BoldItalic HelveticaNeue 但为什么Interface Builder提供了大量其他字体选项呢?例如,我放置了一个UILabel并看到了HelveticaNeue-Medium和HelveticaNeue-Light等选项,它们在编译时似乎可以正常工作?
我问这个问题是因为我现在正在以编程方式生成UILabel,并希望将其字体设置为HelveticaNeue-Medium,但似乎没有这个选项?!
2个回答

3

界面生成器显示在Mac上可用的所有字体,但并非所有字体都适用于iOS。在使用字体之前,请确保其在iOS上可用。


那么,您如何在Interface Builder中设置UILabel的字体,并使其在iOS模拟器和手机上完美运行,而不会出现任何警告?我在Interface Builder中使用HelveticaNeue Medium没有任何问题?除非我的应用程序只是将其自动调整为HelveticaNeue? - skålfyfan
1
我猜它是在设备上自动调整的。尝试使用一个完全不同外观的字体,该字体在iOS中不可用。那么效果应该很明显。 - taskinoor

2

虽然界面构建器可以选择任何字体,但如果字体不可用,则默认为Helvetica。据我所知,它还会编译成Helvetica(或系统默认字体,在iPhone 4上显然不是Helvetica)。

或者至少自定义字体在IB中不起作用;我必须在-awakeFromNib或-viewDidLoad中设置它们:(不,这不是UIAppFonts的问题)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接